Skip to content
MIkE edited this page Nov 6, 2017 · 26 revisions

Available Embedded Browsers

  • Cef - Chromium Embedded Framework (Aardvark Platforms Default)
  • Gecko - Browser Engine used in Firefox

not tested

  • WebKit - Browser Engine used in Apples Safari
  • KHTML - Browser Engine used in KDEs Konqueror (Ancestor of WebKit, Chromium, Opera,...)
  • EdgeHTML/WebView - UWP Edge Browser Control, Win10 only, not tested with Aardvark Platform

not working

  • WebBrowser - Winforms Internet Explorer Control, doesn't work with Aardvark Platform

Gecko Howto

NuGet packages:
32bit: Geckofx45
64bit: Geckofx45.64

Gecko.Xpcom.Initialize("Firefox");
var browser = new Gecko.GeckoWebBrowser() {
    Dock = DockStyle.Fill,
    Navigate("http://orf.at")
}

Fixes

Fix for use with DockPanel Suite by WeiFenLuo

DPS destroys and recreates its Forms. As a result Chromium crashes and Gecko refuses to show anything.
Fix: Detach and reattach browser control

class MyForm : WeifenLuo.WinFormsUI.Docking.DockContent
...
myForm.DockStateChanged += new EventHandler(DockedBrowser_DockStateChanged);
myForm.HandleDestroyed += new EventHandler(DockedBrowser_HandleDestroyed);
...
void DockedBrowser_HandleDestroyed(object sender, EventArgs e) {
    m_myBrowserCtrl.Parent = null;
}

void DockedBrowser_DockStateChanged(object sender, EventArgs e) {
    if (IsHandleCreated) {
        m_myBrowserCtrl.Parent = FindForm()
        m_myBrowserCtrl.BringToFront();
    }
}

Fix for Cef starting child process

CefRuntime starts the current executable a second time to initiate its child process. The VS hosting process breaks this.
There are two solutions to fix this:

  • Disable "Visual Studio hosting process" in the projects properties under Debug
  • Use a different executable to start the child process (HOWTO in progress!)
Clone this wiki locally