• Benedikt Meurer's avatar
    [wasm][inspector] Don't use `Script::source_url` to store URL. · c0ee8f90
    Benedikt Meurer authored
    The `Script::source_url` field holds the value of the magic
    `//# sourceURL` comment if found, and the `Script::name` field is
    supposed to hold the actual name of the resource (as provided by
    the embedder ideally), in case of Chromium that's supposed to be
    the URL (in case of Node.js it's often the local path).
    
    Using `source_url` worked by chance so far, but for loading DWARF
    symbol files correctly we need the initiator (which we pick from
    the embedderName of the Script as reported to DevTools). More
    importantly, the partial handling of `//# sourceURL` in V8 is a
    layering violation and causes trouble in DevTools, i.e. when users
    put relative paths here. So as part of refactoring and correctifying
    the handling of `//# sourceURL`, we need to make sure that the embedder
    provided name (the URL in case of Chromium) is always stored in the
    `Script::name` field.
    
    Bug: chromium:1183990, chromium:974543, chromium:1174507
    Change-Id: I32e11def2b9b52be11bd2e0e64a2ab6bdcf5e52d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2773584
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73536}
    c0ee8f90
module-compiler.cc 137 KB