diff options
author | Idan Horowitz <idan.horowitz@gmail.com> | 2022-03-13 23:17:35 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2022-03-14 00:25:33 +0100 |
commit | c575710e5ef21657aaa72fb0d656e5fd3d226740 (patch) | |
tree | 90e48eddfefdc0a5319678d537c20abf5d6e5beb /Userland/Libraries/LibWeb/HTML/Scripting | |
parent | 47d0d9fd65f734c1fda4f3103a65e3e5888a0b58 (diff) | |
download | serenity-c575710e5ef21657aaa72fb0d656e5fd3d226740.zip |
LibWeb: Use inline script tag source line as javascript line offset
This makes JS exception line numbers meaningful for inline script tags.
Diffstat (limited to 'Userland/Libraries/LibWeb/HTML/Scripting')
-rw-r--r-- | Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.cpp | 4 | ||||
-rw-r--r-- | Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.cpp b/Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.cpp index 1581c72ebc..a4647674d8 100644 --- a/Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.cpp +++ b/Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.cpp @@ -16,7 +16,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/webappapis.html#creating-a-classic-script -NonnullRefPtr<ClassicScript> ClassicScript::create(String filename, StringView source, EnvironmentSettingsObject& environment_settings_object, AK::URL base_url, MutedErrors muted_errors) +NonnullRefPtr<ClassicScript> ClassicScript::create(String filename, StringView source, EnvironmentSettingsObject& environment_settings_object, AK::URL base_url, size_t source_line_number, MutedErrors muted_errors) { // 1. If muted errors was not provided, let it be false. (NOTE: This is taken care of by the default argument.) @@ -43,7 +43,7 @@ NonnullRefPtr<ClassicScript> ClassicScript::create(String filename, StringView s // 10. Let result be ParseScript(source, settings's Realm, script). auto parse_timer = Core::ElapsedTimer::start_new(); - auto result = JS::Script::parse(source, environment_settings_object.realm(), script->filename(), script.ptr()); + auto result = JS::Script::parse(source, environment_settings_object.realm(), script->filename(), script.ptr(), source_line_number); dbgln_if(HTML_SCRIPT_DEBUG, "ClassicScript: Parsed {} in {}ms", script->filename(), parse_timer.elapsed()); // 11. If result is a list of errors, then: diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.h b/Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.h index ff8c635fc0..18ae0e49b7 100644 --- a/Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.h +++ b/Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.h @@ -23,7 +23,7 @@ public: No, Yes, }; - static NonnullRefPtr<ClassicScript> create(String filename, StringView source, EnvironmentSettingsObject&, AK::URL base_url, MutedErrors = MutedErrors::No); + static NonnullRefPtr<ClassicScript> create(String filename, StringView source, EnvironmentSettingsObject&, AK::URL base_url, size_t source_line_number = 1, MutedErrors = MutedErrors::No); JS::Script* script_record() { return m_script_record; } JS::Script const* script_record() const { return m_script_record; } |