/
LinuxPorting.txt
31 lines (22 loc) · 1.05 KB
/
LinuxPorting.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
A quick, dirty, and dynamic tasklist of stuff to do to get BrowserPlus
running on linux
1. Events! BrowserPlus is implemented as async event driven code. This
requires that the "main" thread has a "runloop" mechanism, where
blocking occurs when no other work is enqueued. On windows we leverage
GetMessage() and PostMessage(). On osx we leverage the CFRunLoop.
We need a similar mechanism on linux that interoperates with browsers
and can fit behind the abstractions in:
src/libs/bputils/src/Utils/api/bprunloop.h
and
src/libs/bputils/src/Utils/api/bpthreadhopper.h
2. A Http Client! On osx and windows we use OS provided HTTP client
implementations. On linux we'll have to choose a svelte 3rd party
library thats appropriately licensed. This will have to fit behind
our HTTP abstractions here:
src/libs/bputils/src/Http/Client/api/HttpTransaction.h
WARNING: how do we handle proxies!?
3. Rendering HTML. (libhtmlrender)
4. Drag and Drop.
5. File Browse
6. installation/uninstallation
7. Configuration Panel