• neis's avatar
    JSON.parse: properly deal with reviver result · a5380fe9
    neis authored
    When the reviver returns undefined, the property in question must be deleted
    even for arrays.  So far this only happened for non-array objects.
    
    Also change the property enumeration to be spec-conformant, which is observable when the reviver modifies its "this" object directly.  There are a few further issues that need to be addressed in a separate CL.
    
    R=yangguo@chromium.org
    BUG=
    
    Review URL: https://codereview.chromium.org/1506933003
    
    Cr-Commit-Position: refs/heads/master@{#32750}
    a5380fe9
Name
Last commit
Last update
..
kde Loading commit data...
JSON-parse-reviver-expected.txt Loading commit data...
JSON-parse-reviver.js Loading commit data...
Object-defineProperty-expected.txt Loading commit data...
Object-defineProperty.js Loading commit data...
Promise-already-rejected-expected.txt Loading commit data...
Promise-already-rejected.js Loading commit data...
Promise-already-resolved-expected.txt Loading commit data...
Promise-already-resolved.js Loading commit data...
Promise-catch-expected.txt Loading commit data...
Promise-catch.js Loading commit data...
Promise-chained-then-expected.txt Loading commit data...
Promise-chained-then.js Loading commit data...
Promise-exception-expected.txt Loading commit data...
Promise-exception.js Loading commit data...
Promise-init-callback-receiver-expected.txt Loading commit data...
Promise-init-callback-receiver.js Loading commit data...
Promise-init-expected.txt Loading commit data...
Promise-init.js Loading commit data...
Promise-onFulfilled-deep-expected.txt Loading commit data...
Promise-onFulfilled-deep.js Loading commit data...
Promise-onRejected-deep-expected.txt Loading commit data...
Promise-onRejected-deep.js Loading commit data...
Promise-reject-expected.txt Loading commit data...
Promise-reject.js Loading commit data...
Promise-resolve-chain-expected.txt Loading commit data...
Promise-resolve-chain.js Loading commit data...
Promise-resolve-expected.txt Loading commit data...
Promise-resolve-state-expected.txt Loading commit data...
Promise-resolve-state.js Loading commit data...
Promise-resolve-with-itself-expected.txt Loading commit data...
Promise-resolve-with-itself.js Loading commit data...
Promise-resolve-with-then-exception-expected.txt Loading commit data...
Promise-resolve-with-then-exception.js Loading commit data...
Promise-resolve-with-then-fulfill-expected.txt Loading commit data...
Promise-resolve-with-then-fulfill.js Loading commit data...
Promise-resolve-with-then-reject-expected.txt Loading commit data...
Promise-resolve-with-then-reject.js Loading commit data...
Promise-resolve.js Loading commit data...
Promise-simple-expected.txt Loading commit data...
Promise-simple.js Loading commit data...
Promise-static-all-expected.txt Loading commit data...
Promise-static-all.js Loading commit data...
Promise-static-cast-expected.txt Loading commit data...
Promise-static-cast.js Loading commit data...
Promise-static-race-expected.txt Loading commit data...
Promise-static-race.js Loading commit data...
Promise-static-reject-expected.txt Loading commit data...
Promise-static-reject.js Loading commit data...
Promise-static-resolve-expected.txt Loading commit data...
Promise-static-resolve.js Loading commit data...
Promise-then-callback-receiver-expected.txt Loading commit data...
Promise-then-callback-receiver.js Loading commit data...
Promise-then-expected.txt Loading commit data...
Promise-then-without-callbacks-expected.txt Loading commit data...
Promise-then-without-callbacks.js Loading commit data...
Promise-then.js Loading commit data...
arguments-expected.txt Loading commit data...
arguments.js Loading commit data...
array-bad-time-expected.txt Loading commit data...
array-bad-time.js Loading commit data...
array-float-delete-expected.txt Loading commit data...
array-float-delete.js Loading commit data...
array-functions-non-arrays-expected.txt Loading commit data...
array-functions-non-arrays.js Loading commit data...
array-prototype-properties-expected.txt Loading commit data...
array-prototype-properties.js Loading commit data...
array-slow-put-expected.txt Loading commit data...
array-slow-put.js Loading commit data...
array-tostring-ignore-separator-expected.txt Loading commit data...
array-tostring-ignore-separator.js Loading commit data...
basic-strict-mode-expected.txt Loading commit data...
basic-strict-mode.js Loading commit data...
date-big-setmonth-expected.txt Loading commit data...
date-big-setmonth.js Loading commit data...
date-negative-setmonth-expected.txt Loading commit data...
date-negative-setmonth.js Loading commit data...
date-preserve-milliseconds-expected.txt Loading commit data...
date-preserve-milliseconds.js Loading commit data...
date-toisostring-expected.txt Loading commit data...
date-toisostring.js Loading commit data...
deep-recursion-test-expected.txt Loading commit data...
deep-recursion-test.js Loading commit data...
end-in-string-escape-expected.txt Loading commit data...
end-in-string-escape.js Loading commit data...
exception-properties-expected.txt Loading commit data...
exception-properties.js Loading commit data...
exception-registerfile-shrink-expected.txt Loading commit data...
exception-registerfile-shrink.js Loading commit data...
excessive-comma-usage-expected.txt Loading commit data...
excessive-comma-usage.js Loading commit data...
function-apply-expected.txt Loading commit data...
function-apply.js Loading commit data...
function-constructor-error-expected.txt Loading commit data...
function-constructor-error.js Loading commit data...
function-decompilation-operators-expected.txt Loading commit data...
function-decompilation-operators.js Loading commit data...
function-toString-parentheses-expected.txt Loading commit data...
function-toString-parentheses.js Loading commit data...
function-toString-semicolon-insertion-expected.txt Loading commit data...
function-toString-semicolon-insertion.js Loading commit data...
modify-non-references-expected.txt Loading commit data...
modify-non-references.js Loading commit data...
native-error-prototype-expected.txt Loading commit data...
native-error-prototype.js Loading commit data...
number-toString-expected.txt Loading commit data...
number-toString.js Loading commit data...
number-tofixed-expected.txt Loading commit data...
number-tofixed.js Loading commit data...
number-toprecision-expected.txt Loading commit data...
number-toprecision.js Loading commit data...
numeric-escapes-in-string-literals-expected.txt Loading commit data...
numeric-escapes-in-string-literals.js Loading commit data...
object-bad-time-expected.txt Loading commit data...
object-bad-time.js Loading commit data...
object-extra-comma-expected.txt Loading commit data...
object-extra-comma.js Loading commit data...
object-prototype-constructor-expected.txt Loading commit data...
object-prototype-constructor.js Loading commit data...
object-prototype-properties-expected.txt Loading commit data...
object-prototype-properties.js Loading commit data...
object-prototype-toLocaleString-expected.txt Loading commit data...
object-prototype-toLocaleString.js Loading commit data...
object-slow-put-expected.txt Loading commit data...
object-slow-put.js Loading commit data...
parser-syntax-check-expected.txt Loading commit data...
parser-syntax-check.js Loading commit data...
primitive-property-access-edge-cases-expected.txt Loading commit data...
primitive-property-access-edge-cases.js Loading commit data...
read-modify-eval-expected.txt Loading commit data...
read-modify-eval.js Loading commit data...
regexp-bol-expected.txt Loading commit data...
regexp-bol-with-multiline-expected.txt Loading commit data...
regexp-bol-with-multiline.js Loading commit data...
regexp-bol.js Loading commit data...
regexp-extended-characters-crash-expected.txt Loading commit data...
regexp-extended-characters-crash.js Loading commit data...
regexp-lastindex-expected.txt Loading commit data...
regexp-lastindex.js Loading commit data...
regexp-look-ahead-expected.txt Loading commit data...
regexp-look-ahead.js Loading commit data...
regexp-no-extensions-expected.txt Loading commit data...
regexp-no-extensions.js Loading commit data...
regexp-non-capturing-groups-expected.txt Loading commit data...
regexp-non-capturing-groups.js Loading commit data...
regexp-non-greedy-parentheses-expected.txt Loading commit data...
regexp-non-greedy-parentheses.js Loading commit data...
regexp-range-out-of-order-expected.txt Loading commit data...
regexp-range-out-of-order.js Loading commit data...
regexp-ranges-and-escaped-hyphens-expected.txt Loading commit data...
regexp-ranges-and-escaped-hyphens.js Loading commit data...
regexp-stack-overflow-expected.txt Loading commit data...
regexp-stack-overflow.js Loading commit data...
regexp-unicode-handling-expected.txt Loading commit data...
regexp-unicode-handling.js Loading commit data...
reserved-words-strict-expected.txt Loading commit data...
reserved-words-strict.js Loading commit data...
stack-overflow-arrity-catch-expected.txt Loading commit data...
stack-overflow-arrity-catch.js Loading commit data...
string-anchor-expected.txt Loading commit data...
string-anchor.js Loading commit data...
string-capitalization-expected.txt Loading commit data...
string-capitalization.js Loading commit data...
string-fontcolor-expected.txt Loading commit data...
string-fontcolor.js Loading commit data...
string-fontsize-expected.txt Loading commit data...
string-fontsize.js Loading commit data...
string-link-expected.txt Loading commit data...
string-link.js Loading commit data...
string-split-conformance-expected.txt Loading commit data...
string-split-conformance.js Loading commit data...
string-split-double-empty-expected.txt Loading commit data...
string-split-double-empty.js Loading commit data...
string-split-ignore-case-expected.txt Loading commit data...
string-split-ignore-case.js Loading commit data...
toString-exception-expected.txt Loading commit data...
toString-exception.js Loading commit data...
toString-number-expected.txt Loading commit data...
toString-number.js Loading commit data...
toString-overrides-expected.txt Loading commit data...
toString-overrides.js Loading commit data...