From 94a0f36b3e6875b072d926595121ac036e12977e Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Thu, 31 Oct 2024 08:03:32 -0400 Subject: [PATCH] Revert "WebContent: Restore ability to use Inspector accessors like $0" This reverts commit ae1c58fad1339829757fd545b0f63ca7c3b8628b. --- .../WebContent/WebContentConsoleClient.cpp | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/Userland/Services/WebContent/WebContentConsoleClient.cpp b/Userland/Services/WebContent/WebContentConsoleClient.cpp index 8c3bc70d566..287517cce47 100644 --- a/Userland/Services/WebContent/WebContentConsoleClient.cpp +++ b/Userland/Services/WebContent/WebContentConsoleClient.cpp @@ -11,10 +11,13 @@ #include #include #include +#include +#include #include #include +#include +#include #include -#include #include #include #include @@ -45,21 +48,17 @@ void WebContentConsoleClient::handle_input(ByteString const& js_source) if (!m_console_global_environment_extensions) return; - auto& realm = m_console->realm(); - auto& window = verify_cast(realm.global_object()); + auto& settings = Web::HTML::relevant_settings_object(*m_console_global_environment_extensions); + auto script = Web::HTML::ClassicScript::create("(console)", js_source, settings.realm(), settings.api_base_url()); - auto source_text = ByteString::formatted("return {}", js_source); + auto with_scope = JS::new_object_environment(*m_console_global_environment_extensions, true, &settings.realm().global_environment()); - auto completion = Web::WebDriver::execute_a_function_body(window, source_text, {}, m_console_global_environment_extensions); + // FIXME: Add parse error printouts back once ClassicScript can report parse errors. + auto result = script->run(Web::HTML::ClassicScript::RethrowErrors::No, with_scope); - if (completion.has_value()) { - m_console_global_environment_extensions->set_most_recent_result(completion.value()); - print_html(JS::MarkupGenerator::html_from_value(completion.value()).release_value_but_fixme_should_propagate_errors().to_byte_string()); - } else { - m_console_global_environment_extensions->set_most_recent_result(JS::js_undefined()); - - if (completion.error().value().has_value()) - print_html(JS::MarkupGenerator::html_from_value(completion.error().value().value()).release_value_but_fixme_should_propagate_errors().to_byte_string()); + if (result.value().has_value()) { + m_console_global_environment_extensions->set_most_recent_result(result.value().value()); + print_html(JS::MarkupGenerator::html_from_value(*result.value()).release_value_but_fixme_should_propagate_errors().to_byte_string()); } }