Is “inert” the HTML Feature Of The Year?

With Chrome 102 HTMLElement.inert attribute is now active, it is also in the Firefox/Edge/Safari nightlies, so will hopefully become available for those soon.

This inert attribute aims to make interactive HTML inert as a rock.
Yes, it only took 32 years to disable interactivity like in HTML 1.0, hurrah!

To quote MDN:

The HTMLElement property inert is a boolean value that, when present, makes the browser “ignore” user input events for the element, including focus events and events from assistive technologies.

So it is like good old Enabled from the VCL. And this is a great addition to HTML! (more…)

cefHtmlSnapshot 0.7.100 has been released

cefHtmlSnapshot 0.7.100 release is now available on the cefHtmlSnapshot repository.

This version uses CEF 100.0.23 which includes Chromium 100.0.4896.127, and is recommended for production, as it fixes multiple zero-day issues being actively exploited.

The bundled turbojpeg is updated to 2.1.3, though only to keep up as none of the security  and fixes issues applied here.

Finally this version disables the Back/Forward cache, which may not have any effect, but was unnecessary.

DWScript compatible with Delphi 11.1

Just downloaded and installed Delphi 11.1, and all the unit tests passed without a glitch. So I can announce that DWScript is compatible with Delphi 11.1 for Win32 and Win64! You can find links to all the Delphi 11.1 release details on Marco’s blog.

In other news, the tip of the DWScript repository is considered stable, but a round of core changes were made a few days ago. The last stable state just before the round of changes can be found in the DWScript Releases on the GitHub mirror. The next round of changes likely be able to will rip out the stack from the engine, and transition to closures.

Cosmetic upgrades to DelphiCodeCoverage

After rediscovering DelphiCodeCoverage, I had made a few cosmetic and functional upgrades to its HTML Report.
I have now pushed a few more rounds of upgrades for better looks and usability. In case they are not merged or you want to test run future changes, you can check my fork of the repo, though for stability stick to the official repository maintained by ekot1.

Here is a visual summary of the changes, form original state to current one. (more…)

Spotlight on Date/Time parsing and formatting

As a bunch commits were just made, it is a good opportunity for a spotlight on dwsDateTime and TdwsFormatSettings.

The class was initially born out of two needs:

  1. to properly handle per-script date FormatSettings, with multiple scripts running in the same or different threads.
  2. to have date formatting and parsing be unambiguously based on the date format string.

(more…)

Delphi Code Coverage alive and kicking

Recently noticed DelphiCodeCoverage had a new home on GitHub, with several updates that make it stable. I had been it in a previous incarnation to assess DWScript test coverage, and help pick which aspects of the engine were in need of extra tests.

The DWScript tests can be quite heavy on exceptions, sub-processes and multithreading. The tests go after checking all things that should fail do fail as they should. That was a bit too much stress for the previous versions, which would occasionally crash. I am happy to say those issues are gone from the current version of DelphiCodeCoverage!

(more…)

DWScript now compatible with Delphi 11

Just pushed a few changes to the DWScript repository for compatibility with the just released Delphi 11 Alexandria.

The only change required was related to a fix of the Delphi compiler, which now properly has integer overflow checks controlled by $OVERFLOWCHECKS while they were previously controlled by $RANGECHECKS.

I also added support for the Delphi 11 dialect for binary literals (starting with %). DWScript already supported binary literals with the “0b” prefix since 2012 (as in C), I had been hoping the % symbol would not be sacrificed for this purpose, but oh well. (more…)

Nested types in DWScript

Just a word of warning about a recent commit that added support for nested types in DWScript.

This support is at the moment only enabled in class declarations, and very minimally tested, a lot more testing is required – and welcome 🙂 – before it can be considered safe to use, and extended to other type declarations.

The related code should only kickoff if a “type” keyword is encountered in a class declaration (which would previously be reported as an error), so the change should be innocuous to existing code.