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.

 

Compatibility

Our software is intended for industrial use and has been tested with the following Integrated Development Environments:

 

Downloads


Subscribe to Version Upgrade Push Notifications

Important installation and deployment notes:

  1. mobileFX ActiveX setup packages are digitally signed and hashed with MD5 and SHA-1.
    Please right-click on setup package, click Properties > Digital Signatures and verify our Digital Signature and our Code Signing Certificate.
    Also, please verify the MD5 and SHA-1 checksum of mobileFX ActiveX setup packages.
  2. mobileFX software downloaded from this site installs an in-process OLE/COM component and an out-of-process Chromium Web Browser.
    Those files when analyzed by less-known antivirus software using heuristics analysis methods produce false positive results.
    In such case, please submit our setup package to your antivirus vendor requesting detailed analysis. Please email us at info@mobilefx.com to pursue.
    We recommend scanning our software package with well-known antivirus software, such as Malware Bytes.
  3. Please make sure that the latest Windows Service Packs are installed both on the development and production computers.
    For Windows 7 and Server 2008 R2 you must install Windows 7 and Windows Server 2008 R2 Service Pack 1 (KB976932).
    For Windows XP we recommend official Windows XP Service Pack 3 (KB936929) or unofficial Service Pack 4 from MajorGeeks.com.
    For Windows 8, 10 and Windows Servers please use the operating system Windows Update feature to obtain the latest service packs.
  4. Please install the ActiveX software with Run as Administrator even if your user is admin or member of the Administrators local group.
    Please follow the instructions provided in the Documentation for Windows 7,8,10 or the ones for Windows Server operating systems.
  5. Running WebKitX pre-compiled samples requires write access to the folder of the sample in order to create web and GPU caches.
    Our pre-compiled samples do not access any files or folders outside their own folder.
Product Details Released Architectures CEF3 / V8 Download Installation Package
WebKitX_CEF3_ActiveX_x86_v4.0.0.12677.exe
  • For 32-bit Application Development
  • Windows 7, 8, 10 (32-bit or 64-bit)
  • Terminal Ready: Windows 7 POS Edition
  • Blink HTML5 Rendering Engine
  • WebGL v1, v2
  • H.264 / AAC Video
  • WebRTC
  • With async/await Support
  • Peper Flash Player v32.0.0.101 (32-bit)
  • 4 GB RAM Recommended
  • 175 MB Redistributable
  • Commercial Use License
  • Bounty Support
  • 30-day Evaluation
13 Jul 2020 x86 & x64
32-bit OCX

VC++ 2017
Redist
Chromium Version: 80
Git Branch: 3987.149
Released: Mar 2020
Download
MD5: fb4f147a3d3a6bf6adc42caf6a694d7b
SHA-1: 1dba48296cf22b86e5c477ebfc2943e76edcfe77
WebKitX_CEF3_ActiveX_x64_v4.0.0.12677.exe
  • For 64-bit Application Development
  • Windows 7, 8, 10 (64-bit)
  • Terminal Ready: Windows 7 POS Edition
  • Blink HTML5 Rendering Engine
  • WebGL v1, v2
  • H.264 / AAC Video
  • WebRTC
  • With async/await Support
  • 8 GB RAM Recommended
  • Peper Flash Player v32.0.0.101 (64-bit)
  • 210 MB Redistributable
  • Commercial Use License
  • Bounty Support
  • 30-day Evaluation
13 Jul 2020 x64
64-bit OCX

VC++ 2017
Redist
Chromium Version: 80
Git Branch: 3987.149
Released: Mar 2020
Download
MD5: dc20af9c5478c513e844e24ac77ee90f
SHA-1: 70f00c2823017a580bab25afc65c46e67b888a9d
WebKitX_CEF3_ActiveX_WinXP_x86_v2.2.0.12678.exe
  • For 32-bit Application Development
  • Windows XP x86 SP3 (32-bit)
  • Windows Vista x86 (32-bit)
  • Terminal Ready: Windows XP POS & Embedded Editions
  • Tested with unofficial SP4 (Major Geeks)
  • Tested with XP POS Windows Updates up to 12/2018
  • WebKit HTML5 Rendering Engine
  • With WebGL 1.0 Support
  • 2 GB RAM Recommended
  • Peper Flash Player v29.0.0.113 (32-bit)
  • 55 MB Redistributable
  • Commercial Use License
  • Bounty Support (Limited)
  • 30-day Evaluation
13 Jul 2020 x86
32-bit OCX

VC++ 2015
Redist
Chromium Version: 49
Git Branch: 2623.1401
Released: May 2016
Download
MD5: 6f2b09b89c6ee1be498c8db177126ae7
SHA-1: c15796487e0a5a33f9a9702b084b4d44577fc37d

Stable production-grade JavaScriptX version 1.x

Product Details Released Architectures CEF3 / V8 Download Installation Package
JavaScriptX_ActiveX_x86_v1.1.0.612.exe
  • For 32-bit Application Development
  • Windows 7, 8, 10 (32-bit or 64-bit)
  • Terminal Ready: Windows 7 POS Edition
  • 1 GB RAM Recommended
  • 17 MB Redistributable
  • Commercial Use License
  • Bounty Support
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
MD5: d4d4d5b90c12f6e0c759877b6a6b552e
SHA-1: 98f86a117a01f385ab7811cb5a916919a58fa1fb
 

Release Notes

Jul 2020

  • Hot Fix Fixed V8 Interceptor bug causing sub-prcess crashes to pages with multiple IFRAMEs.
  • Hot Fix Improved HMI I/O signals and HMI error handling.
  • Behaviour Change Introducing Enable_HMI_IO persistent property for enabling HMI bidirectional value features. Defaults to False.
  • New Feature Added cookie management methods GetCookies, SetCookie, DeleteCookie.
  • New Feature Added CommandLine property for setting CEF initialization switches.
  • New Feature Added OnDragEnter event for intercepting drag-and-drop operations.
  • New Feature Added SetDataObjectHTML method for setting various HTML formats to an OLE Drag-and-Drop or clipboard IDataObject.

Jun 2020

  • Hot Fix Fixed bug in AddObject causing invokation errors.
  • Release v4.x Releasing version 4.x with Chromium version 80 as version 2.x successor.
  • New Feature Added H.264 video and ACC audio decoding.
  • New Feature Added Web Real Time Communications (WebRTC) features.
  • New Feature Added DelayedBrowserCreation property that delays browser creation until first paint of the control (default = true).
  • New Feature Added Destroy() method that terminates CEF sub-processes on demand.
  • New Feature Added DisableGDIPlus property that disables early GDI+ initialization. GDI+ is used for screenshot capture and version text rendering.
  • New Feature Added HMI_URL and HMI_VALUE properties for Rockwell FactoryTalk Industrial Automation Software.
  • New Feature Added PlayHLS() and PauseHLS() for HTTP Live Stream video support.
  • New Feature Added support for Widevine that enables playback of encrypted streams such as NETFLIX.
  • New Feature Improved control creation: control is created when OLE container site is set vs. on first paint.
  • New Feature Improved terminal licensing and license reporting in design-time.
  • New Feature Introducing license file feature for Standard, Professional and Enterprise licensing.
  • New Feature License is embedded in executable at compile-time. No more activate calls in source code.
  • New Feature Upgraded to latest CEF and Chromium (March 2020 / branch 3987.144).
  • New Sample New H.264 / ACC video sample.
  • New Sample New HTTP Live Stream sample.
  • New Sample New Human Machine Interface (HMI) Samples.
  • New Sample New Real-Time Web Communications (WebRTC) sample.
  • New Sample New WebASM Unity Game Engine Sample.
  • Retiring v2.x Retiring version 2.x.

Jun 2020

  • Hot Fix Fixed bug in AddObject causing invokation errors.

Mar 2020

  • Hot Fix Improved stability.
  • Hot Fix Fixed Run() method bug causing crashes when used with more than 1 parameters.
  • Hot Fix Fixed ScriptControl.Error object to support JavaScript errors with source line and column.
  • Hot Fix Fixed Google V8 to VARIANT minor bugs and added support for Infinity.
  • Hot Fix Improved COM Reference Counting and speed.
  • Hot Fix Improved exception handling from JavaScript to COM.
  • New Feature Added vanilla implementation for Modules and Procedures.
  • New Sample Released documentation at https://www.webkitx.com/doc/jx/About.html.

More Release Notes ...

 

Documentation

 

Getting Started

Installation Guide
Step-by-step installation guide to properly install WebKitX on your Developer Workstation.

Read More

Loading Sequence
Discover WebKitX initialization sequence and load your first URL.

Read More

Plugins
Discover WebKitX Plugins and use them in your apps: PDF Viewer, Flash Player and Chrome Developer Tools.

Read More

High DPI Support
Enable high dpi support for both your executable and CEF3.

Read More

License Activation
Instructions to activate your Commercial License and register your Workstation.

Read More

Distribution
Instructions to distribute WebKitX binaries with your applications.

Read More
 

Integration Guides

Visual Basic 6.0 Guide
Guide for loading and using WebKitX in Visual Basic 6.0 programs.

Read More

C# Guide
Guide for developing 32-bit and 64-bit WebKitX applications with C#.

Read More

Visual C++ Guide
Step-by-step guide for using WebKitX in C++ MFC applications.

Read More

RAD Studio Rio Guide
Step-by-step guide for using WebKitX in RAD Studio Rio VCL projects.

Read More

dBase Guide
Step-by-step guide for using WebKitX with dBase.

Read More

Power Builder Guide
Step-by-step guide for using WebKitX with PowerBuilder 2019.

Read More

ForPro 9 Guide
Guide for adding WebKitX in FoxPro forms and navigating to a URL.

Read More

Legacy ForPro Guide
Guide for adding WebKitX in Legacy FoxPro forms and navigating to a URL.

Read More

FactoryTalk Guide
Step-by-step guide for using WebKitX with Rockwell FactoryTalk Automation software.

Read More

Microsoft Office VBA Guide
Step-by-step guide for using WebKitX with Office 64-bit VBA applications.

Read More

Microsoft Excel Guide
Step-by-step guide for using WebKitX in Excel and transfer values and events.

Read More
 

Best Practices

Accessing HTML5 DOM
Reading and writing HTML5 markup, element attributes and CSS3 styles.

Read More

Calling JavaScript
Call JavaScript functions with arguments from your native program.

Read More

Handling DOM Events
Handle DOM events in your program using COM event handling.

Read More

Expose COM objects to JavaScript
Expose and invoke your OLE/COM objects in JavaScript.

Read More

HTML5 Editing
Edit HTML5 code in a WYSIWYG manner with WebKitX.

Read More

CORS & CSP Filtering
Bypass CORS and CSP policies with advanced WebKitX content filtering.

Read More
 

Multimedia

Available in version 4.x only.

H.264 / ACC codec
Proprietary codecs for modern audiovisual applications.

Read More

Widevine
Widevine-enabled secure premium content protection support.

Read More

HTTP Live Stream
HTTP Live Stream made easy with hls.js library wrapping for COM use.

Read More
 

Highlights

Accessing HTML5 DOM Programmatically

In 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 More

Calling JavaScript and JavaScript Callbacks

The 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 More

Adding native Objects to JavaScript

This 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 More

Handling DOM Events

HTML5 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 More

Firing custom DOM Events

WebKitX 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 More

Chrome DevTools Support

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 More
 

Licensing

Please 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:

Perpetual Commercial License for Desktop Application Development

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.

  • You are welcome to evaluate mobileFX ActiveX for 30 days without obtaining licenses.
  • To link mobileFX ActiveX with your software you are required to obtain one (1) Commercial License per Developer Workstation and Build Server.
  • For applications that run over Remote, Virtual or Embedded terminals you are required to obtain Terminal Licensing over Commercial Licensing.
  • For HMI applications or applications bundled and sold with Hardware Devices you are required to obtain Device Licensing over Commercial Licensing.
  • By obtaining 1x Perpetual Commercial License your will get 1x Terminal License for development purposes for your Developer Workstation.
Product Compatibility Price Buy Now
WebKitX ActiveX v4.x 32-bit Windows 7, 8, 10 £ 599
WebKitX ActiveX v4.x 64-bit Windows 7, 8, 10 £ 999
WebKitX ActiveX v2.x 32-bit Windows XP Windows XP, Vista £ 999
JavaScriptX ActiveX v1.x 32-bit Windows 7, 8, 10 £ 99

Subscription-based Commercial License for Terminal Software Development

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)

Perpetual Device License for Hardware Development

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)

Licensing with Purchase Order (PO)

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.

  1. Please download our Purchase Order Template.
  2. Fill-in your Company details including Company Name, Street Address, Telephone and VAT number (EU format).
  3. Fill-in the Quotation Number (if any).
  4. Fill-in your name and email address in ORDERED BY box.
  5. Fill-in the QUANTITY of the product OR plan OR service your are ordering.
  6. Multiply the QUANTITY with the UNIT PRICE of the product OR plan OR service your are ordering; fill-in AMOUNT and SUB-TOTAL boxes.
  7. If ordering from UK, please apply VAT. Fill-in TOTAL DUE.
  8. Ordering Professional or Enterprise Licensing requires signed contract. Upon PO processing we will send you one.
  9. Invoices are in GBP and payments by Wire Transfer only. For exchange rates please visit HMRC web site.
  10. Licenses are generated upon payment.
  11. You must accept our Licensing Agreement without reservations.
  12. Reselling our products is strictly prohibited. You are discouraged from involving resellers and mediators.

Licensing Calculator

If you require Terminal Licensing or if you are ordering several licenses, please use our License Calculator to derive licensing discounts.

No Reselling

No reselling programs are available. Reselling our products is strictly prohibited.

 

Evaluator Support

Evaluators please review the DocumentationSamples 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.

 

Customer Support

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