
On-line Documentation
Download Form |
WebKitX ActiveX wraps Chromium Embedded Framework (CEF3) for use with OLE/COM languages.
Chromium Embedded Framework encapsulates WebKit Blink HTML5 Renderer and Google V8 JavaScript Engine. This is a production-grade
stable component for commercial use that will truly add HTML5 features in your Desktop and Terminal Applications.
JavaScriptX ActiveX wraps Google V8 JavaScript Engine for use with OLE/COM languages.
The ActiveX is a binary replacement of Microsoft Script Control for the JavaScript scripting language.
V8 compiles JavaScript directly to native machine code and the ActiveX provides binding between COM objects and JavaScript.
This is a production-grade stable component for commercial use for providing modern scripting to your Desktop and Terminal Applications.
Our software is intended for industrial use and has been tested with the following Integrated Development Environments:
Product Details | Released | Architectures | CEF3 / V8 | Download Installation Package |
---|---|---|---|---|
![]()
|
27 Jan 2021 | x86 & x64 32-bit OCX VC++ 2017 Redist |
Chromium Version: 80 Git Branch: 3987.149 Released: Mar 2020 |
Download
SHA-1: 0688ba2565f494efc91b3d1f0938843dc7afdaa8 |
![]()
|
27 Jan 2021 | x64 64-bit OCX VC++ 2017 Redist |
Chromium Version: 80 Git Branch: 3987.149 Released: Mar 2020 |
Download
SHA-1: 4536d555d65f359b913880f290cc2be46a087df3 |
![]()
|
27 Jan 2021 | x86 32-bit OCX VC++ 2015 Redist |
Chromium Version: 49 Git Branch: 2623.1401 Released: May 2016 |
Download
SHA-1: 17f406587fccbfa226c8c5e5bfac463d089fe4e3 |
Stable production-grade JavaScriptX version 1.x
Product Details | Released | Architectures | CEF3 / V8 | Download Installation Package |
---|---|---|---|---|
![]()
|
10 Jun 2020 | x86 & x64 32-bit OCX VC++ 2017 Redist |
V8 Engine: 7.3.492.27 Git Branch: v8-73 Released: Feb 2019 |
Download
SHA-1: 98f86a117a01f385ab7811cb5a916919a58fa1fb |
Jan 2021
Dec 2020
Nov 2020
Jun 2020
Mar 2020
Installation Guide
Step-by-step installation guide to properly install WebKitX on your Developer Workstation.
Loading Sequence
Discover WebKitX initialization sequence and load your first URL.
Plugins
Discover WebKitX Plugins and use them in your apps: PDF Viewer, Flash Player and Chrome Developer Tools.
High DPI Support
Enable high dpi support for both your executable and CEF3.
Loading Performance Tips
Performance tips for faster loading of HTML pages in your application.
Remote Debugging with VS Code
Instructions for debugging JavaScript in WebKitX from Visual Studio Code.
License Activation
Instructions to activate your Commercial License and register your Workstation.
Distribution
Instructions to distribute WebKitX binaries with your applications.
Visual Basic 6.0 Guide
Guide for loading and using WebKitX in Visual Basic 6.0 programs.
C# Guide
Guide for developing 32-bit and 64-bit WebKitX applications with C#.
Visual C++ Guide
Step-by-step guide for using WebKitX in C++ MFC applications.
RAD Studio Rio Guide
Step-by-step guide for using WebKitX in RAD Studio Rio VCL projects.
dBase Guide
Step-by-step guide for using WebKitX with dBase.
Power Builder Guide
Step-by-step guide for using WebKitX with PowerBuilder 2019.
ForPro 9 Guide
Guide for adding WebKitX in FoxPro forms and navigating to a URL.
Legacy ForPro Guide
Guide for adding WebKitX in Legacy FoxPro forms and navigating to a URL.
FactoryTalk Guide
Step-by-step guide for using WebKitX with Rockwell FactoryTalk Automation software.
Microsoft Office VBA Guide
Step-by-step guide for using WebKitX with Office 64-bit VBA applications.
Microsoft Excel Guide
Step-by-step guide for using WebKitX in Excel and transfer values and events.
WinBatch Guide
Step-by-step guide for using WebKitX with WinBatch scripts.
Accessing HTML5 DOM
Reading and writing HTML5 markup, element attributes and CSS3 styles.
Calling JavaScript
Call JavaScript functions with arguments from your native program.
Handling DOM Events
Handle DOM events in your program using COM event handling.
Expose COM objects to JavaScript
Expose and invoke your OLE/COM objects in JavaScript.
HTML5 Editing
Edit HTML5 code in a WYSIWYG manner with WebKitX.
CORS & CSP Filtering
Bypass CORS and CSP policies with advanced WebKitX content filtering.
H.264 / ACC codec
Proprietary codecs for modern audiovisual applications.
Widevine
Widevine-enabled secure premium content protection support.
HTTP Live Stream
HTTP Live Stream made easy with hls.js library wrapping for COM use.
Debug JavaScript running in WebKitX controls in your Windows Forms applications through Visual Studio Code integration. In-app JavaScript debugging was never easier and more efficient as you can debug it directly from your own application's executable in real conditions. Visual Studio Code is a free source-code editor made by Microsoft for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git.
Read MoreAlternatively, WebKitX has built-in support for Chrome DevTools and wraps DevTools Protocol which allows for developers to instrument, inspect, debug and profile HTML5 and JavaScript. In Chrome DevTools Protocol instrumentation is divided into a number of domains (DOM, Debugger, Network etc.) and each domain defines a number of commands and events. You can execute DevTools commands with ExecDevToolsCommand and handle the generated events in OnDevToolsWebSocket event. Both commands and events are serialized JSON objects of a fixed structure.
Read MoreIn an attempt to provide HTML5 DOM access and manipulation programmatically in similar way like Microsoft Web Browser Control, WebKitX offers limited access and DOM manipulation through COM Wrappers. A COM Wrapper wraps native WebKit Blink HTML5 Elements and exposes them to the OLE/COM environment. WebKitX HTML5 COM Wrappers are volatile Just-In-Time (JIT) COM objects, meaning that WebKitX does not reference-count the provided COM object. Internally each COM Wrapper has a CSS3 Selector to the underlying native object and the wrapper is valid for as long as the CSS3 Selector remains valid.
Read MoreThe simplest way to call a JavaScript function in WebKitX is WebKitX.CallByName(Name, Variant) method. You can pass to JavaScript function arbitrary arguments using an OLE/COM Variant, and receive the function's result value, as an OLE/COM Variant too. Execution of CallByName is IPC-synchronous and this method is an elegant alternative to WebKitX.Eval() as you can pass back-and-forth your variables without stringifying them.
Each frame in a browser window has its own V8 context. The context defines the scope for all variables, objects and functions defined in that frame. WebKitX allows you to register a JavaScript callback in a V8 context using window.register(name, callback, this) method. The first argument is the string name of the function, the second is the function callback and the 3rd optional parameter is the execution context. If the 3rd parameter is not defined then the global object is assumed.
Read MoreThis technology allows you to use headless COM objects (non-controls) from JavaScript. Any simple in-process or out-of-process apartment threaded COM object with scalar properties and/or methods with scalar arguments and scalar return value can be wrapped into an V8 object and exposed through a global identifier (and window dot identifier) to the V8 JavaScript context of the main frame.
Read MoreHTML5 DOM Events are generated by WebKit Blink Engine and are copied into an immutable format before they are transmitted from CEFXClient process to WebKitX ActiveX. Once WebKitX ActiveX receives an event notification through IPC, it fires a COM Event with the copied data of HTML DOM event. Thus, CEFXClient process does not block waiting for your client code to handle the event. WebKitX DOM Events are Immutable, meaning that you can only read event data but you cannot cancel events, stop them from bubbling or prevent default behavior.
WebKitX as of version 1.5.11.2591 supports synchronous DOM to COM events by implementing CefMessageRouter circuit. Events generated from WebKit Blink Engine are serialized and passed from Rendering to Browser process, which transmits them to the ActiveX. The browser process waits for the ActiveX to handle the event, where you can also cancel event bubble or prevent event's default behavior.
Read MoreWebKitX DispatchEvent() method allows you to fire DOM events directly into JavaScript and handle those events by JavaScript event handlers. You can pass the target selector that will receive the event, the event name, event initialization parameters (bubbling, cancelable, composed) and an OLE/COM Variant that will be converted into a V8 JavaScript object and added in the details field of the Event object. Event execution can be both synchronous and asynchronous in terms of IPC tunneling, and it is always synchronous in terms of DOM.
Read MorePlease read carefully our licensing documents for Standard Licensing,
Professional Licensing and
Enterprise Licensing
and do not hesitate to contact us if you have questions or if you need to negotiate special closures:
With Perpetual Commercial Licensing you can develop an unlimited number of Windows Desktop Applications linked with mobileFX ActiveX and distribute them freely to an unlimited number of your customers. We offer free upgrades for the software's minor versions, subscribe to receive update notifications.
Product | Compatibility | Price | Buy Now |
![]() |
Windows 7, 8, 10 | £ 599 | |
![]() |
Windows 7, 8, 10 | £ 999 | |
![]() |
Windows XP, Vista | £ 999 | |
![]() |
Windows 7, 8, 10 | £ 99 |
Terminal Licensing over Commercial Licensing is required if-and-only-if an application linked with mobileFX Software is deployed on Windows Embedded operating systems, or deployed through Terminal Services, or Virtual Appliances. Terminal services include any remote session such as Remote Desktop, Citrix Clients and Terminal Server Clients, and any Virtualization container such as VMware, Virtual Box, VSphere, Docker, Parallels, etc.
For more information please read mobileFX Software Licensing Guide for 2020 (PDF)
Device Licensing over Commercial Licensing applies to Independent Hardware Vendors (IHV) and it is required if-and-only-if a software linked with mobileFX ActiveX products is distributed as part of, or embedded in, a Hardware Product, such as but not limited to IoT Devices and Gateways, POS Devices, Self Service Terminals, Vending Machines, Digital Signage Kiosks, Automation Devices, ATM Devices, HMI, etc.
For more information please read mobileFX Software Licensing Guide for 2020 (PDF)
If PayPal is not allowed by your company or if you wish to order Professional Licensing or Enterprise Licensing you need to send us a Purchase Order.
If you require Terminal Licensing or if you are ordering several licenses, please use our License Calculator to derive licensing discounts.
No reselling programs are available. Reselling our products is strictly prohibited.
Evaluators please review the Documentation, Samples and Licensing for details about our products and their usage. Most common questions about our products are answered in Getting Started and Advanced Topics sections. Also, please review Trouble Shooting for common problems.
If you have any questions you are encouraged to mail us at info@mobilefx.com. To successfully pass our SPAM FILTER you are kindly requested to include in your email subject the word WebKitX, write your message in English Language and include your Company Details and your own Name and Surname. Please note that emails sent from Gmail, Hotmail, Yahoo and other similar providers might be considered anonymous if missing the above information. Anonymous emails are not being processed.
Please read our Privacy Policy.
If you desperately need a new feature implemented in our ActiveX controls or immediately need a hotfix and can't wait until next release, you can contact us at info@mobilefx.com and negotiate with us a price, for which we will stop what we do and take care of what you need! The service is called a Bounty and applies only to existing Customers; for any edition of the ActiveX but only for its latest version (we do not branch per customer).
Just send us an email with what you need and our Account Manager will pass your request to our Tech Lead for Effort Estimation along with Technical Specs of the works to be done. Effort Estimation is in man hours and it is different from Duration. For example, to add a feature it might take our experts 8 hours to implement, but because we work on Sprints we might need a duration of one week to deliver.
The catch is that you participate in the process, being the primary Beta Tester! This phase is called User Acceptance Testing (UAT) and during this period you receive code-locked prototype revisions and provide us with valuable feedback, such as UAT observations and Defects. Once UAT is completed and you are satisfied with the result, you release us from the Bounty and we provide you with an Unlock Code as a token of our appreciation.
Service | Duration or Effort | Price | |
Support Voucher / Bounty | 2 hours (minimum) | £ 100 |