int exec_argc;
const char** exec_argv;
- // node::Init(&argc, const_cast<const char**>(argv), &exec_argc, &exec_argv); not called
+ node::Init(&argc, const_cast<const char**>(argv), &exec_argc, &exec_argv);
node::IsolateData isolate_data(gin_env.isolate(), loop);
node::Environment* env = node::CreateEnvironment(
exec_argc, exec_argv);
// Start our custom debugger implementation.
- // NodeDebugger node_debugger(gin_env.isolate()); not called
- // if (node_debugger.IsRunning())
- // env->AssignToContext(v8::Debug::GetDebugContext(gin_env.isolate()));
+ NodeDebugger node_debugger(gin_env.isolate());
+ if (node_debugger.IsRunning())
+ env->AssignToContext(v8::Debug::GetDebugContext(gin_env.isolate()));
mate::Dictionary process(gin_env.isolate(), env->process_object());
#if defined(OS_WIN)
if (base::ThreadTaskRunnerHandle::IsSet()) {
if (::tizen::is_single_process) {
+ // TODO: If delay is not produced, child thread closure is not happening;
+ // engine has to be checked
base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
FROM_HERE, base::MessageLoop::QuitWhenIdleClosure(), base::TimeDelta::FromSeconds(1));
} else {
// Add support for node's "--debug" switch.
class NodeDebugger : public net::test_server::StreamListenSocket::Delegate {
public:
- explicit NodeDebugger(v8::Isolate* isolate, uv_loop_t* loop_);
+ explicit NodeDebugger(v8::Isolate* isolate, uv_loop_t* loop_ = uv_default_loop());
virtual ~NodeDebugger();
bool IsRunning() const;
# Need to remove the below line later
install -p -m 644 %{_out}/lib/libwidget_plugin.so %{buildroot}%{_libdir}
+# pwrt_env file
+mkdir -p %{buildroot}%{_sysconfdir}/profile.d/
+install -p -m 755 %{_out}/gen/pwrt_env.sh %{buildroot}%{_sysconfdir}/profile.d/pwrt_env.sh
+
# screen_plugin
install -p -m 644 %{_out}/lib/libsplash_screen_plugin.so %{buildroot}%{extension_path}
install -p -m 644 %{_out}/gen/splash_screen.json %{buildroot}%{extension_path}
# Need to remove these below lines later
%attr(644,root,root) %{_libdir}/libwidget_plugin.so
%attr(644,root,root) %{_libdir}/libsplash_screen_plugin.so
+%attr(755,root,root) %{_sysconfdir}/profile.d/pwrt_env.sh
--- /dev/null
+export PWRT_BLOCK_SINGLE_PROCESS=ON
\ No newline at end of file
#include "atom/app/atom_main_delegate.h" // NOLINT
#include "content/public/app/content_main.h"
-#include "atom/app/node_main.h"
#include "atom/browser/atom_browser_main_parts.h"
#include "atom/common/atom_command_line.h"
#include "base/at_exit.h"
namespace {
-bool block_single_process = false; // set to true to disable single process mode altogether
+const char *kBlockSingleProcess = "PWRT_BLOCK_SINGLE_PROCESS"; // set to ON to disable single process mode altogether
// Default command line flags for all profiles and platforms
const char* kDefaultCommandLineFlags[] = {
int args_count = kElectronArgsCount;
if (IsBrowserProcess()) {
- if (!block_single_process && !isElectronWebApp()) {
+ if (!getenv(kBlockSingleProcess) && !isElectronWebApp()) {
LOG(ERROR) << "will run in single process mode";
tizen::is_single_process = true;
args_count = kTizenWebappArgsCount;
}
-inline int Start(Isolate* isolate, IsolateData* isolate_data, // not called
+inline int Start(Isolate* isolate, IsolateData* isolate_data,
int argc, const char* const* argv,
int exec_argc, const char* const* exec_argv) {
HandleScope handle_scope(isolate);
return exit_code;
}
-inline int Start(uv_loop_t* event_loop, // not called
+inline int Start(uv_loop_t* event_loop,
int argc, const char* const* argv,
int exec_argc, const char* const* exec_argv) {
Isolate::CreateParams params;
// optional, in case you're wondering.
int exec_argc;
const char** exec_argv;
- // Init(&argc, const_cast<const char**>(argv), &exec_argc, &exec_argv);
+ Init(&argc, const_cast<const char**>(argv), &exec_argc, &exec_argv);
#if HAVE_OPENSSL
if (const char* extra = secure_getenv("NODE_EXTRA_CA_CERTS"))
NODE_EXTERN extern bool g_upstream_node_mode;
NODE_EXTERN int Start(int argc, char *argv[]);
-NODE_EXTERN void Init(int* argc, // apart from NodeBindings::Initialize(), no one seems to call
+NODE_EXTERN void Init(int* argc,
const char** argv,
int* exec_argc,
const char*** exec_argv,
- uv_loop_t* uv_loop_);
+ uv_loop_t* uv_loop_ = uv_default_loop());
class IsolateData;
class Environment;
],
'cflags': [ '-fPIC' ],
'cflags_cc': [ '-fPIC' ],
+ 'copies': [
+ {
+ 'destination': '<(SHARED_INTERMEDIATE_DIR)',
+ 'files': [
+ 'tizen/pwrt_env.sh',
+ ],
+ },
+ ],
}, # target wrt
{
'target_name': 'wrt-service',