miniblink Documentation
repository·master·Indexed 27 days ago
https://github.com/weolar/miniblink49An open-source, single-file, lightweight browser widget based on Chromium. It provides a minimal C interface for creating browser windows and supports features such as embedded Node.js, Electron compatibility, network interception, and headless mode. The project includes integrations with ANGLE, Brotli, FFmpeg, and PDFium.
What's inside miniblink
- Skia is an open-source 2D graphics library providing common APIs that work across various hardware and software platforms. It is used as the graphics engine for major products including Google Chrome, Chrome OS, Android, and Mozilla Firefox. Skia is available for use under the BSD Free Software License.
Overview of the AcroForms Widget Library (PWL)
masterThefpdfsdk/pwldirectory contains a Widget Library designed for AcroForms. It provides a hierarchy of controller classes for various PDF widget types. All widgets are rendered to Appearance Streams, which are managed centrally by theCPWL_AppStreamclass.Overview of sfntly capabilities
mastersfntly provides programmatic access to font data through its Java and C++ implementations. It is designed for developers building font manipulation tools rather than as a standalone end-user application.
Core Capabilities:
- Reading/Extracting Tables: Access individual data structures within a font, including glyph outlines, character maps, kerning, and metadata.
- Editing/Writing: Modify existing font data and reassemble fonts.
- Supported Font Formats: OpenType, TrueType, AAT/GX, and Graphite.
- Supported Table Types: All required tables, TrueType outline tables, bitmap glyph tables, and various miscellaneous tables.
Included Font Tools (built on top of the library):
- Font subsetter
- Font dumper
- Font linter
- Compression utilities
Overview of the MB (Meta-Build wrapper)
masterMB is a Python wrapper designed to manage the transition from GYP to GN in Chromium. It provides a unified interface for "bot toggling" (switching between GN and GYP) and "bot configuration" (managing various OS/arch/gyp_definecombinations). MB handles thegenandanalyzesteps, wrappinggyp_chromiumfor Ninja file generation and providing target analysis based on modified files.Overview of ANGLE
masterANGLE (Almost Native Graphics Layer Engine) translates OpenGL ES API calls to hardware-supported APIs to enable seamless WebGL and OpenGL ES content execution across multiple operating systems. It provides translation from OpenGL ES 2.0 to Desktop OpenGL, Direct3D 9, and Direct3D 11. It also provides an implementation of the EGL 1.4 specification.Overview of Turbolizer
masterTurbolizer is an HTML-based visualization tool for V8's Turbofan optimization pipeline. It allows developers to navigate between source code, Turbofan IR graphs, scheduled IR nodes, and generated assembly code.
To use Turbolizer, you must provide
.jsonfiles generated byd8using the--trace-turbocommand-line flag.Overview of the xfa/fwl Widget Library
masterxfa/fwl is a Widget Library designed for XFA Forms. It provides a hierarchy of widget classes that act as both controllers and renderers. The library is closely related to theCXFAclasses found in thexfa/fxfadirectory.Overview of MB (The Meta-Build wrapper)
masterMB is a meta-build wrapper designed to provide a uniform interface for build systems like GYP or GN. It abstracts the underlying build tool, allowing users and automated bots to execute build commands without needing to know whether the specific target requires GN or GYP.
Key functionalities include:
- Generation: Generating Ninja build files.
- Analysis: Determining which targets require rebuilding based on modified files.
- Configuration Management: Centralizing supported Chromium build configurations in
//tools/mb/mb_config.pyl.
Overview of Brotli compression algorithm
masterBrotli is a generic-purpose lossless compression algorithm. It achieves compression ratios comparable to the best currently available general-purpose compression methods by combining a modern variant of the LZ77 algorithm, Huffman coding, and 2nd order context modeling. It offers similar speeds todeflatebut provides more dense compression.Overview of wptserve
masterwptserveis a web server specifically designed for use with the web-platform-tests (wpt) suite.Overview of QUnit JavaScript testing framework
masterQUnit is a JavaScript unit testing framework used for testing generic JavaScript code, including code running in the browser or on the server-side. It is designed to facilitate regression testing and safe refactoring by providing a suite of assertions to verify code behavior. It includes specialized facilities for testing asynchronous code, similar to features found in JUnit but optimized for JavaScript environments.Overview of the V8 Benchmark Suite
masterThe V8 Benchmark Suite is a collection of pure JavaScript benchmarks used for tuning the V8 engine. The suite includes individual benchmark files, a core framework, and two methods for running the tests.
Components:
- Individual Benchmarks: Pure JavaScript files containing specific performance tests (e.g.,
RegExp,Splay,Navier-Stokes). - Benchmark Framework (
base.js): The core framework that must be loaded before any individual benchmark files. - Runners:
- HTML version (
run.html): For running benchmarks in a browser environment. - Standalone JavaScript version (
run.js): For running benchmarks in a JavaScript runtime (like Node.js or V8 directly).
- HTML version (
- Individual Benchmarks: Pure JavaScript files containing specific performance tests (e.g.,