clone of https://github.com/emmar/gfbrowser

wes affcc05926 add the generated build files from QTCreator and add some notes about getting the build to work 4 vuotta sitten
package 8f48aa4443 add file content 9 vuotta sitten
.gitignore affcc05926 add the generated build files from QTCreator and add some notes about getting the build to work 4 vuotta sitten
README.md affcc05926 add the generated build files from QTCreator and add some notes about getting the build to work 4 vuotta sitten
example.using.QWebView.cpp cfbccf4d7a Update example.using.QWebView.cpp 9 vuotta sitten
gfbrowser.cpp e185feb363 CORS is disabled by default with option to enable it. The cursor is also enabled 4 vuotta sitten
gfbrowser.pro 4f28ff454e Update gfbrowser.pro 9 vuotta sitten

README.md

gfbrowser

Basic web browser, can run with other backends but the goal is to run using a EGL backend. Build using buildroot and the gfbrowser package. When compiling with QT5 enable qtwebkit, eglfs, opengl support in buildroot. EGL backend needs to be available either by mesa3D, rpi-userland, etc. (Gluten-Free)

Notes:

: 'To setup on a non-target ubuntu machine run the following in an ubuntu bash shell:';
    : 'Install developer tools.';
    sudo apt-add-repository -y ppa:ubuntu-sdk-team/ppa; sudo apt-get update;
    sudo apt-get install -y qtdeclarative5-dev libqt5webkit5-dev qt5-default;
    sudo apt-get install -y build-essential mesa-common-dev libglu1-mesa-dev libsqlite3-dev;
    : 'Clone a copy of this repository.';
    git clone https://github.com/emmar/gfbrowser; cd gfbrowser;
    : 'Optionally turn on the DEV_REMOTE_INSPECTOR opt flag.'
    sed 's/^#\(DEFINES\)/\1/' gfbrowser.pro; : 'uncomment all DEFINES tags...'
    : 'Compile and run the browser.';
    qmake; make; ./gfbrowser http://www.google.com;

gfbrowser is dead long live gfbrowser

Actually it is not dead, I just got fed up on Msft Windows trying to compile the gfbrowser under the new versions of QT SDK. They are really pushing their chromium based WebEngine over the WebKit option. I tried to get the WebKit modules added to a copy of the QT SDK that was already installed on the Windows 10 Laptop that we have and I was able to get it compiled. But then the shared libraries seem to have moved functions around because when I launch the application it complains about not being able to find entry points for in the C:\Qt\Qt5.13.1\5.13.1\mingw73_32\bin\Qt5WebKitWidgets.dll library. So that is no fun. QT does not really have a way to download the compiled development libraries so I am kind of screwed if I want a boxed copy. I could compile the libs, but right now I have a 3 hour deadline, I think if I just take the poison pill and port parts of gfbrowser to the WebEngine, which may already be installed. I might be able to finish.

Ahhh... Nevermind. the webenginewidgets are not even supported under mingw32, only MSVC 2017 and newer are allowed to compile. Lol.

Windows compile

Eventually I got this to work. I installed QT 5.13.1 and added a path to the Msft Environment Variables C:\Qt\Qt5.13.1\Tools\mingw730_32\bin and then found a project that had compiled webkit binaries here. The extracted binaries referenced Mingw32 using 5.3.0 but overlaying the files into the previously mentioned minw730_32 directory worked fine. The compile occurred using QTCreator. I had to switch the builder to release, the debug build complained about libQt5WebKitWidgetsd.a midding. The 'd' at the end just means debug.

Windows failure notes

this is just a dump of things that I ran accross

missing qtwebkit

previously the machine had QT creator and the mingw32 toolchain. The version of QT ws 5.13.1, I have read elsewhere that the newer widgets use some other API called WebEngine, but for now I do not want to port any of the gfbrowser code. Instead the modules needed for the older version of QT are still accessible online without needing to manually compile on the target machine. I found the 32-bit module here on QT's official site.

Project ERROR: Unknown module(s) in QT: webkitwidgets

after downloading, extract the contents and overlay them into the mingw32 toolchain directory. for me this was C:\Qt\Qt5.13.1\5.13.1\mingw73_32 If compiling from a random shell, make sure that the bin, lib, and include directory are accessible to the shell. Also after running the qmake program add SHELL=C:/Windows/System32/cmd.exe into the generated Makefile, I ran into an error:

"C:\Program: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4227d3)

some unresolved hangups when compiling qtwebkit from source

I had a lot of failure before this, I kind of kept some notes. I even tried to compile qtwebkit from source but lacked a bunch of support and gave up. They recommended the conan c/c++ package manager that had a circular reference dependancy between msys2, lzma, and 7zip.

ERROR: Loop detected in context host: 'lzma_sdk/9.20' requires 'msys2/20190524' which is an ancestor too

Also had a problem with a missing log2 routine in cmake:

CMake Error at source_subfolder/CMakeLists.txt:101 (message):
  log2() not found