Home - hokein/wxWidgets GitHub Wiki
Integrating and extending wxWebViewChromium backend
Work Summary
This summer, I worked with my mentor Steven@ on "Integrating and extending wxWebViewChromium backend" project in wxWidgets. My work mainly foucsed on wxWebviewChromium development on three desktop platforms(Windows/Linux/Mac OS X).
Below is my work brief:
- Integrated the wxWebViewChromium code into wxWidgets source tree.
- Upgradeed the wxWebViewChromium CEF version to the newest release version 3.1750.1738
- Implemented GetPageSource/GetPageText/Print API and added custom handler supports.
- Resolved some gaps between CEF3 API and wxWebView API.
- Ported to Linux platforms
- Ported to Mac OS X platforms
- Enabled wxWebViewChromium sample application.
##wxWebviewChromium Description
wxWebviewChromium is a new wxWebView using Chromium Embedded Frameworks 3 as backend.
Like other backend wxWebview(Trident, WebKit), wxWebviewChromium keeps the same API of wxWebView, so that developer can use it without much CEF3 knowledge. It insulates wx-developers from underlying CEF3 architecture and APIs by offering wxWebView API. Most wxWebView features are suppported, except some are not supported in CEF3 API(Refer here for more details.)
wxWebViewChromium is available on three desktop platforms(Windows/Linux/Mac OS X 10.8+) with current release CEF3 version 3.1750.1738(based on Chrome 33).
CEF3 is a library of Google Chromium project on content API layer, which allows developers embbed Chromium-based browser in their applications. Integrating with CEF3, wxWebViewChromium takes advantage of the high performance and HTML5 features and technologies available in Google Chrome web browser.
In addition, a wxWebViewChromium sample is provided in wx_root/sample/webview_chromium
for showing usage. wxWebViewChromium building instructions and usage and complete API documention are available at here.
Below is a screenshot:
HTML5 Features Test
wxWebview uses system default backend on Win/OS X, which is the same as system default web browser(Windows: IE, OS X: Safari), while useing libwebkitgtk as a backend on Linux. Below is HTML5 features scores from html5test.com between different backends:
Backend version:
- Windows 7: Trident version ie10
- Mac OS X 10.9.2: Safari version 7.0.3
- Ubuntu 12.04: libwebkitgtk 1.8
Backend | IE | WebKit(OS X) | WebKit(GTK) | Chromium |
---|---|---|---|---|
scores | 329 | 395 | 351 | 475 |
wxWebViewChromium:
wxWebView on Windows 7:
wxWebView on Mac OS X 10.9.2:
wxWebView on Linux(Ubuntu12.04 libwebkitgtk1.8)