From 0b35a48b4d9fcdbdb707c9f7c78f5d7ee1bbcbd6 Mon Sep 17 00:00:00 2001 From: Gurpreet Sarngal Date: Mon, 16 Jun 2025 12:51:52 +0530 Subject: [PATCH 1/2] Revert "Merge pull request #33 from rdkcentral/topic/RDKEMW-4729" This reverts commit 064d334a9a95cace6b967c46a8ba5c2ffed6fcff, reversing changes made to 7d48e60f20a89d98c9243298c3f9c125d1736909. --- src/NativeJSRenderer.cpp | 10 +++------- utils/utils.js | 20 +++++--------------- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/src/NativeJSRenderer.cpp b/src/NativeJSRenderer.cpp index a6152e7..1ffa020 100644 --- a/src/NativeJSRenderer.cpp +++ b/src/NativeJSRenderer.cpp @@ -326,12 +326,10 @@ void NativeJSRenderer::runApplicationInternal(ApplicationRequest& appRequest) return ; } JavaScriptContext* context = (JavaScriptContext*)mContextMap[id].context; - #if defined(ENABLE_JSRUNTIME_LAUNCHER) - std::stringstream window; + std::stringstream window; window<<"window.location = {\"href\":\"" << url << "\"};"; NativeJSLogger::log(INFO, "Adding the window location: %s to js file\n", window.str().c_str()); context->runScript(window.str().c_str(),true, url, nullptr, true); - #endif NativeJSLogger::log(INFO, "nativeJS application thunder execution url: %s, result: %d\n", url.c_str(), ret ? 1 : 0); ret = context->runScript(chunk.contentsBuffer, true, url, nullptr, true); NativeJSLogger::log(INFO, "nativeJS application execution result: %d\n", ret ? 1 : 0); @@ -343,13 +341,11 @@ void NativeJSRenderer::runApplicationInternal(ApplicationRequest& appRequest) { NativeJSLogger::log(INFO, "About to launch local app\n"); JavaScriptContext* context = (JavaScriptContext*)mContextMap[id].context; - #if defined(ENABLE_JSRUNTIME_LAUNCHER) - std::stringstream window; + std::stringstream window; window<<"window.location = {\"href\":\"file:/" << url << "\"};"; NativeJSLogger::log(INFO, "Adding the window location: %s to js file\n", window.str().c_str()); context->runScript(window.str().c_str(),true, url, nullptr, true); - #endif - NativeJSLogger::log(INFO, "Running test application: %s\n", url.c_str()); + NativeJSLogger::log(INFO, "Running test application: %s\n", url); bool ret = context->runFile(url.c_str(), nullptr, true); NativeJSLogger::log(INFO, "Test application execution result: %d\n", ret ? 1 : 0); double duration = context->getExecutionDuration(); diff --git a/utils/utils.js b/utils/utils.js index 915c3c8..a37753e 100644 --- a/utils/utils.js +++ b/utils/utils.js @@ -85,12 +85,12 @@ class Performance clearMarks() { - for (var key in this.entries) + for (var key in entries) { - this.entries[key] = null; - delete this.entries[key]; + entries[key] = null; + delete entries[key]; } - this.entries = {} + entries = {} } getEntriesByName(name) @@ -117,16 +117,6 @@ class Performance now() { return Date.now(); - } - clearMeasures() - { - for (var key in this.entries) - { - this.entries[key] = null; - delete this.entries[key]; - } - this.entries = {} - } - + } } performance = new Performance(); From 52910b195d63d8bf7f505d1fa1fbda11758d6286 Mon Sep 17 00:00:00 2001 From: Gurpreet Sarngal Date: Mon, 16 Jun 2025 12:52:52 +0530 Subject: [PATCH 2/2] Revert "Merge pull request #32 from rdkcentral/topic/RDKEMW-3466" This reverts commit 7d48e60f20a89d98c9243298c3f9c125d1736909, reversing changes made to a9410f1f46a73551462f509173a9b4b9161cd207. --- CMakeLists.txt | 15 -- src/JSRuntimeLauncher.cpp | 249 ---------------------------------- src/NativeJSRenderer.cpp | 14 +- src/jsc/JavaScriptContext.cpp | 12 -- 4 files changed, 3 insertions(+), 287 deletions(-) delete mode 100644 src/JSRuntimeLauncher.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 6751722..878a350 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,7 +26,6 @@ option(BUILD_JSRUNTIME_APP "BUILD_JSRUNTIME_APP" ON) option(ENABLE_JSRUNTIME_SERVER "ENABLE_JSRUNTIME_SERVER" OFF) option(BUILD_JSRUNTIME_CLIENT "BUILD_JSRUNTIME_CLIENT" OFF) option(NATIVEJS_DEVELOPER_MODE "NATIVEJS_DEVELOPER_MODE" OFF) -option(ENABLE_JSRUNTIME_LAUNCHER "ENABLE_JSRUNTIME_LAUNCHER" OFF) #can be jsc or node or v8 or quickjs option(JSRUNTIME_ENGINE_NAME "JSRUNTIME_ENGINE_NAME" "jsc") @@ -106,10 +105,6 @@ set(JSRUNTIME_APP_FILES ${JSRUNTIME_COMMON_SOURCE_DIRECTORY}/jsruntime.cpp ) -set(JSRUNTIME_LAUNCHER_FILES - ${JSRUNTIME_COMMON_SOURCE_DIRECTORY}/JSRuntimeLauncher.cpp -) - if ( ENABLE_JSRUNTIME_SERVER ) add_definitions("-DENABLE_JSRUNTIME_SERVER") add_definitions("-DWS_SERVER_PORT=9112") @@ -180,16 +175,6 @@ if (BUILD_JSRUNTIME_CLIENT) target_link_libraries(jsruntime_client ${JSRUNTIME_LIBRARY_LINK_DIRECTORIES} -lpthread) endif (BUILD_JSRUNTIME_CLIENT) -if (ENABLE_JSRUNTIME_LAUNCHER) - message("Enabling build support for jsruntime launcher - widget") - add_executable(jsruntime_launcher ${JSRUNTIME_LAUNCHER_FILES}) - add_dependencies(${JSRUNTIME_LIBRARY_NAME} ${JSRUNTIME_ENGINE_DEPENDENT_LIBRARY_NAME}) - add_dependencies(jsruntime_launcher ${JSRUNTIME_LIBRARY_NAME} ${JSRUNTIME_ENGINE_DEPENDENT_LIBRARY_NAME} ) - target_include_directories(jsruntime_launcher PRIVATE ${JSRUNTIME_INCLUDE_DIRECTORIES}) - set_target_properties(jsruntime_launcher PROPERTIES OUTPUT_NAME "JSRuntimeLauncher") - target_link_libraries(jsruntime_launcher ${JSRUNTIME_LIBRARY_LINK_DIRECTORIES} -l${JSRUNTIME_LIBRARY_NAME} ${JSRUNTIME_LINK_LIBRARIES}) -endif (ENABLE_JSRUNTIME_LAUNCHER) - set(UWEBSOCKETS_TARGET "Linux") if (APPLE) set(UWEBSOCKETS_TARGET "Darwin") diff --git a/src/JSRuntimeLauncher.cpp b/src/JSRuntimeLauncher.cpp deleted file mode 100644 index 7f73da8..0000000 --- a/src/JSRuntimeLauncher.cpp +++ /dev/null @@ -1,249 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "rapidjson/document.h" -#include -#include -#include -#include - -using namespace rapidjson; -using namespace std; -using namespace JsRuntime; - -string source="/package/index.js"; -std::vector flags; - -void extractJSFilePaths(const std::string& jsFilePath) { - std::ifstream file(jsFilePath); - - if (!file.is_open()) { - std::cerr << "Error: Could not open file '" << jsFilePath << "'\n"; - return; - } - - std::string line; - while (std::getline(file, line)) { - if (!line.empty()) { - std::cout<<"line:"< options; - for (SizeType i = 0; i < flagsarr.Size(); i++) { - const Value& flagOption = flagsarr[i]; - if (!flagOption.IsObject()) - continue; - - if (flagOption.HasMember("name") && flagOption.HasMember("enable")) { - const Value& name = flagOption["name"]; - const Value& enable = flagOption["enable"]; - - if(name=="player" && enable==true) - { - flags.push_back("--enablePlayer"); - } - else if(name=="xhr" && enable==true) - { - flags.push_back("--enableXHR"); - } - else if(name=="websocket" && enable==true) - { - flags.push_back("--enableWebSocket"); - } - else if(name=="http" && enable==true) - { - flags.push_back("--enableHttp"); - } - else if(name=="websocketenhanced" && enable==true) - { - flags.push_back("--enableWebSocketEnhanced"); - } - else if(name=="fetch" && enable==true) - { - flags.push_back("--enableFetch"); - } - else if(name=="jsdom" && enable==true) - { - flags.push_back("--enableJSDOM"); - } - else if(name=="window" && enable==true) - { - flags.push_back("--enableWindow"); - } - else if(name=="console" && enable==true) - { - flags.push_back("--console"); - } - else if(name=="display" && enable==true) - { - flags.push_back("--display"); - } - else{ - continue; - } - - } - } - } -} - -int main(int argc, char *argv[]) { - const char* filename = "/package/rdk.config"; - std::ifstream file(filename); - if (file.good()) - { - std::string jsonStr, line; - while (std::getline(file, line)) { - jsonStr += line + "\n"; - } - file.close(); - cJSON* root = cJSON_Parse(jsonStr.c_str()); - if (root){ - cJSON* envs = cJSON_GetObjectItem(root, "configuration"); - cJSON* envArray = cJSON_GetObjectItem(envs, "envs"); - cJSON* env; - cJSON_ArrayForEach(env, envArray) { - cJSON* key = cJSON_GetObjectItem(env, "key"); - cJSON* value = cJSON_GetObjectItem(env, "value"); - if (key && value && cJSON_IsString(key) && cJSON_IsString(value)) { - setenv(key->valuestring, value->valuestring, 1); - } - } - cJSON_Delete(root); - } - } - vector c_flags; - std::string fileName = "/package/app.config"; - Json_parsing(fileName); - extractJSFilePaths(source); - for(auto& flag : flags) - { - c_flags.push_back((char*)(flag.c_str())); - } - if (c_flags.size() < 2) - { - NativeJSLogger::log(WARN, "Pass the URL to run\n"); - return -1; - } - bool runServer = false; - std::string waylanddisplay(""); - bool enableJSDOM = false, enableWindow = false, enablePlayer = false, enableWebSocketEnhanced = false, enableFetch = false; - int i = 0, appendindex=c_flags.size()-1; - std::vector applications; - ModuleSettings moduleSettings; - bool consoleMode = false; - - while (i renderer = std::make_shared(waylanddisplay); - if (consoleMode) { - renderer->setEnvForConsoleMode(moduleSettings); - } - if (!renderer) - { - NativeJSLogger::log(ERROR, "Unable to run application\n"); - return -1; - } - - uint32_t id = renderer->createApplication(moduleSettings); - for (int j = 0; j < applications.size(); j++) { - std::string url = applications[j]; - NativeJSLogger::log(INFO, "Application URL is %s\n", (url.size() ? url.c_str() : "empty")); - renderer->runApplication(id, url); - } - - renderer->run(); - return 0; -} diff --git a/src/NativeJSRenderer.cpp b/src/NativeJSRenderer.cpp index 1ffa020..5967279 100644 --- a/src/NativeJSRenderer.cpp +++ b/src/NativeJSRenderer.cpp @@ -252,7 +252,7 @@ std::list NativeJSRenderer::getApplications() ApplicationDetails appData; appData.id = key; appData.url = value.url; - NativeJSLogger::log(DEBUG, "Found application with ID: %d and URL: %s\n", key, value.url.c_str()); + NativeJSLogger::log(DEBUG, "Found application with ID: %d and URL: %s\n", key, value.url); runningApplication.push_back(appData); } } @@ -326,13 +326,9 @@ void NativeJSRenderer::runApplicationInternal(ApplicationRequest& appRequest) return ; } JavaScriptContext* context = (JavaScriptContext*)mContextMap[id].context; - std::stringstream window; - window<<"window.location = {\"href\":\"" << url << "\"};"; - NativeJSLogger::log(INFO, "Adding the window location: %s to js file\n", window.str().c_str()); - context->runScript(window.str().c_str(),true, url, nullptr, true); - NativeJSLogger::log(INFO, "nativeJS application thunder execution url: %s, result: %d\n", url.c_str(), ret ? 1 : 0); + std::cout << "nativeJS application thunder execution url " << url << " result " << ret << std::endl; ret = context->runScript(chunk.contentsBuffer, true, url, nullptr, true); - NativeJSLogger::log(INFO, "nativeJS application execution result: %d\n", ret ? 1 : 0); + std::cout << "nativeJS application execution result " << ret << std::endl; double duration = context->getExecutionDuration(); context->setAppdata(id, url); NativeJSLogger::log(INFO, "Execution duration(runApplicationDuration) for ID %d | URL %s : %.3f ms\n", id, url.c_str(), duration); @@ -341,10 +337,6 @@ void NativeJSRenderer::runApplicationInternal(ApplicationRequest& appRequest) { NativeJSLogger::log(INFO, "About to launch local app\n"); JavaScriptContext* context = (JavaScriptContext*)mContextMap[id].context; - std::stringstream window; - window<<"window.location = {\"href\":\"file:/" << url << "\"};"; - NativeJSLogger::log(INFO, "Adding the window location: %s to js file\n", window.str().c_str()); - context->runScript(window.str().c_str(),true, url, nullptr, true); NativeJSLogger::log(INFO, "Running test application: %s\n", url); bool ret = context->runFile(url.c_str(), nullptr, true); NativeJSLogger::log(INFO, "Test application execution result: %d\n", ret ? 1 : 0); diff --git a/src/jsc/JavaScriptContext.cpp b/src/jsc/JavaScriptContext.cpp index f8b203f..55064f1 100644 --- a/src/jsc/JavaScriptContext.cpp +++ b/src/jsc/JavaScriptContext.cpp @@ -447,18 +447,6 @@ if (mModuleSettings.enablePlayer) runFile("modules/linkedjsdom.js", nullptr/*, true*/); runFile("modules/linkedjsdomwrapper.js", nullptr/*, true*/); runFile("modules/windowwrapper.js", nullptr/*, true*/); - if(getenv("FIREBOLT_ENDPOINT")!=NULL) - { - auto FireboltEndpoint = std::string(getenv("FIREBOLT_ENDPOINT")); - std::stringstream ss; - ss << "window.__firebolt = {\"endpoint\":\"" << FireboltEndpoint << "\"};"; - NativeJSLogger::log(INFO, "Adding the Firebolt EndPoint value: %s to window.js file\n", FireboltEndpoint.c_str()); - ss << "var self = window;"; - ss << "let videoDiv = document.createElement(\"div\");"; - ss << "videoDiv.id = \"videoDiv\";"; - ss << "document.body.appendChild(videoDiv)"; - evaluateScript(ss.str().c_str(),nullptr); - } } }