PoC: Browser based runtime

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>, Neel Patel <neel(dot)patel(at)enterprisedb(dot)com>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: PoC: Browser based runtime
Date: 2017-03-26 20:28:17
Message-ID: CA+OCxoxsWkP3c6BdbqMkSWAASybehkJ9BMrhbbr29EZ+M2h_4g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

I've been looking at various options for getting rid of QtWebEngine,
and had an idea that maybe we don't actually need any C++ code at all.

Attached is a rough PoC patch that implements such a setup. If running
with SERVER_MODE == True, things are as they are now, however, if
SERVER_MODE == False then:

- We enable key generation for client validation.

- A thread is started to monitor the server for startup completion.

- Once the server is responding, a browser is launched using selenium
and pointed at the server.

- The thread continues running, periodically checking the browser is
still present. If not, it kills the server.

Downsides:

- The user knows they're running in the browser
- chromedriver/geckodriver are required (geckodriver's licence may be an issue)
- The user must have a supported browser installed.

Questions:

- Maybe we could ship a pre-built minimal browser (one that is fast
and works well and always use that?
- If we do that, then maybe we can use whatever mechanism selenium
uses to tell the browser where to navigate, as it doesn't seem to use
the command line (thus, keeping the key hidden).

Thoughts?

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachment Content-Type Size
browser_based_runtime.diff text/plain 12.7 KB

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Jonas Thelemann 2017-03-27 00:15:51 Translations: Newline / Whitespace Fix
Previous Message Dave Page 2017-03-26 02:51:51 Feature test regression failures