-
Stefano Sanfilippo authored
Instead of inferring allow_codegen from the state of MaybeLocal<String>, return it separately. This allows to distinguish "could not stringify this object" from "block execution of this object", regardless of whether the object is a string or not. Currently, the hook can trigger an EvalError only if the original source was a string. Modify the logic so that one of the three mechanisms (unconditional, non-modifying, modifying) decides alone. Before, if the non-modifying callback rejected a value, the value would be forwarded to the modifying callback, but the unconditional would not forward to the non-modifying callback. This introduces a more uniform behaviour where the three mechanisms act in decreasing priority. Change-Id: Iaaa9873227052653d714df65f31c4de914f48b7d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1776082Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Stefano Sanfilippo <ssanfilippo@chromium.org> Cr-Commit-Position: refs/heads/master@{#64763}
6c0825aa