MoeNavigatorEngine is a web browser engine written from scratch in C++. It was initially part of the web browser MoeNavigator.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Moritz Strohm df031f2b51 moved method docblocks from CSSParser to StylesheetParser class, re #3 1 week ago
CommonClasses DocumentNode: made constructor arguments const references 1 month ago
GUIWidgets Initial import 3 years ago
LocalStorage included stdexcept headers in a few parts, re #30 2 months ago
MNECommon removed "using namespace std" from MarkupParserException.h and MNEException.h, re #24 3 months ago
MNERenderer MoeNavigatorEngine: added plaintext document handling in setDocument_Internal, set document_mime_type attribute in openURL, corrected text node position in MNERenderer_SVG 4 weeks ago
MarkupParsers added MarkupParser::reset, renamed resetParsingState method to reset in HTMLParser and XMLParser, re #31 1 month ago
Network NetworkHandler_GnuTLS: use system certificates as credentials, re #20 1 month ago
ScriptEngines refactorised ScriptEngine and JavascriptEngine classes, closes #2 3 months ago
Settings Added CookiePolicy class, MoeNavigatorEngine class: added getters and setters for cookie_jar attribute, added general_cookie_policy attribute with getter and setter, re #4 3 months ago
StylesheetParsers moved method docblocks from CSSParser to StylesheetParser class, re #3 1 week ago
doc @ 22d4bb01f6 doc: updated text in Parsers.md, closes #31 1 month ago
tests added CSSParser test, re #3 1 week ago
.dir-locals.el added origin attribute to DocumentNode 1 year ago
.gitignore added MNENetwork/MNEURL header and source file 2 years ago
.gitmodules added the wiki repository as submodule in doc directory, re #17 4 months ago
AUTHORS Initial import 3 years ago
CMakeLists.txt added code to NetworkHandler_GnuTLS, build MNE as shared lib by default, re #20 1 month ago
COPYING Initial import 3 years ago
MoeNavigatorEngine.cpp removed StylesheetParser::parseFromString methods and implementations in CSSParser, re #3 1 week ago
MoeNavigatorEngine.h MoeNavigatorEngine: added plaintext document handling in setDocument_Internal, set document_mime_type attribute in openURL, corrected text node position in MNERenderer_SVG 4 weeks ago
README.md README: updated wiki link, updated documentation, re #17 4 months ago
StylesheetNodeConnector.h Initial import 3 years ago

README.md

MoeNavigatorEngine

MoeNavigatorEngine is a web browser engine written from scratch in C++.

The goal of this project is to create a modular, fast and flexible web browser engine.

Dependencies

To compile MoeNavigatorEngine you will need the following software:

  • CMake (at least version 2.8)
  • A C++ compiler (for example g++) and all standard C++ library headers
  • C POSIX socket headers

Compiling

First you will need to create a “build” directory below the base directory of this repository, where all the temporary files will be placed. Then, open a terminal in the build directory and run the following command:

cmake -DBUILD_SHARED_LIBS=1 ..

This will make the project configuration and will create all files necessary for invoking make. When cmake has finished you invoke make simply by typing:

make

If compilation is successful you should have the compiled version of MoeNavigatorEngine lying in your build directory.

Compiling for development

To compile MoeNavigatorEngine for development and debugging purposes, you should make a debug build. From the “build” directory from above, you can create a debug build like this:

cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=1 ..

When cmake has finished, you can invoke make like before to build a debug version of MoeNavigatorEngine.

Documentation

Besides the source code documentation there is the project’s wiki for additional documentation regarding the internals of the engine and the project in general. The wiki is available at codeberg.org:

https://codeberg.org/moenavigator/moenavigatorengine/wiki/index

Alternatively, you may download the whole wiki source code (markdown) for offline reading. After cloning the source code repository, simply init and update the submodules:

git submodule init
git submodule update

After that, you will find the whole wiki source code in the “doc” directory.