pax_global_header00006660000000000000000000000064151044304050014506gustar00rootroot0000000000000052 comment=e142a9b495064cd718cf442ffe23b51ea089d9d6 lexbor-2.6.0/000077500000000000000000000000001510443040500130065ustar00rootroot00000000000000lexbor-2.6.0/.github/000077500000000000000000000000001510443040500143465ustar00rootroot00000000000000lexbor-2.6.0/.github/workflows/000077500000000000000000000000001510443040500164035ustar00rootroot00000000000000lexbor-2.6.0/.github/workflows/cmake.yml000066400000000000000000000027111510443040500202070ustar00rootroot00000000000000name: CMake on: push: branches: [ "master" ] pull_request: branches: [ "master" ] env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) BUILD_TYPE: Release jobs: build: # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. # You can convert this to a matrix build if you need cross-platform coverage. # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DLEXBOR_BUILD_EXAMPLES=ON -DLEXBOR_BUILD_TESTS=ON -DLEXBOR_BUILD_UTILS=ON - name: Build # Build your program with the given configuration run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} - name: Test working-directory: ${{github.workspace}}/build # Execute tests defined by the CMake configuration. # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail run: ctest -C ${{env.BUILD_TYPE}} lexbor-2.6.0/.travis.yml000066400000000000000000000032651510443040500151250ustar00rootroot00000000000000language: c compiler: - clang - gcc install: skip env: global: - PROCS=2 - secure: "Zh2oYit2y9TJb0U1omqoN2UMxVJAn08pJKTPOxHEsFOkDrNaLI2rptXYRJ1TjRNpOKc6FXDYt+Ut0lIehmJ9qOcBFs2sn6laRitytiA5eBrKdifyaJCNvF2PyZWgilRBBN2DyFJQJmWQRLz3w/bWbyHSpD10g6P0n92FGHXMyUEAqq0swmGE9HVug8cZYnJ8DfUGyHHp0+sxWOIKCVzi+UHisCGIYs4xkvidV7D0dVNIM3CsZfBvyNeRRtOzwsGVqx07PVjIWPjo9KZ38ndgz+sk3b74Ip/fYQ0iEGlZ6U+t+lMGBq1kZVMewSjgcStYI8lV5FedIlNK2bVoUQdta6uQi1kg7tJYmyM9FPiQ+SEN2WyoRg54Rr/Xaw9CGwP3qZ2FcL3TWBKLY3EKm2TJGxqhtqJt9pgbNoVimeH5KvyYZB2mdd3eK7a3Zf4TobTy0qcuKxXDI9UpkUsrp2WmTppXzuradBU0IjBGsaIbwGJSWyhq1l7U0Jl2qF2vXf0HckUVDZOieEEtGQxrJeX+BtM0N7hQ674T74LCQ9xuHdL9ZEcyxGk8fzKkB5aLSW3j+1i9E4tq9Ycf085ISCWmp1lbpXQj5JDZbiw9GxoGXPJfW0VKlKP7NUd1eSq16Ym37DcVUuXyPJobyxe7DujoZbeRXLMEA1pVeJU6ZEp9+BA=" matrix: - TARGET=test - OS=el DIST=6 - OS=el DIST=7 - OS=fedora DIST=24 - OS=fedora DIST=25 - OS=ubuntu DIST=precise - OS=ubuntu DIST=trusty - OS=ubuntu DIST=xenial - OS=ubuntu DIST=yakkety - OS=debian DIST=wheezy - OS=debian DIST=jessie - OS=debian DIST=stretch before_script: - ( mkdir build; cd build; cmake .. -DCMAKE_BUILD_TYPE=Release -DLEXBOR_BUILD_TESTS=ON ) script: - make -C build -j${PROCS} - make test -C build -j${PROCS} addons: apt: sources: - george-edison55-precise-backports packages: - cmake-data - cmake coverity_scan: project: name: "lexborisov/lexbor" description: "Lexbor is an open source HTML Renderer library" notification_email: lex.borisov@gmail.com build_command_prepend: "cmake . -DLEXBOR_BUILD_TESTS=ON" build_command: "make -j" branch_pattern: coverity_scan lexbor-2.6.0/CHANGELOG.md000066400000000000000000000176021510443040500146250ustar00rootroot00000000000000# Changelog ## [Unreleased] ## [2.6.0] - 2025-11-10 ### Added - Added pseudo-selector :lexbor-contains(). The selector is intended for searching by text within elements. - DOM: added the DOMException interface/object. - DOM::Node: added functions for manipulating with DOM by specification. - URL: add test case. - Added interface for the DOM getElementById() function. - DOM: added the lxb_dom_document_type_create() function. - URL: added support URLSearchParams interface. ### Fixed - URL: Fix host setters for opaque paths. - Fixed warning on Windows with gcc. - Fixed warnings with -Wsign-compare -Wformat. - URL: Fix port setter for malformed ports. - URL: fixed a use-after-free bug in parser logs. ### Changed - Unicode: update to version 17.0.0. - HTML: relax tag has been changed according to the specification. Regarding recent changes to the specifications. ## [2.5.0] - 2025-08-13 ### Added - Added new module Engine. - Added benchmarks. - Added LEXBOR_BUILD_WITH_MSAN definition for building with msan. - CSS::Syntax: added UNICODE-RANGE token. - Added link to external bindings for Julia. ### Fixed - Core: Fix undefined behavior in function lexbor_str_append(). - Core: Fix undefined behavior in function lexbor_in_node_make(). - Core: fixed slow realloc for large strings. - HTML: fixed error report for whitespace characters reference. - HTML: fixed error report on self-closing tag parsing. - HTML: fixed attribute cloning for bad HTML. - HTML: fixed duplicate attributes in svg namespace. - CSS::Syntax: fixed consume a numeric token. - Style: fixed use-after-poison when the element is destroyed. - URL: fixed hostname setter if port is specified. - Selectors: fixed selector :has(). It didn't always work properly. ### Changed - HTML: allowed `
` to be used inside ` $DATA, "result": $DATA{ ,12} $DATA }, /* Test number: 14 */ { "data": $DATA{ ,12}
$DATA, "result": $DATA{ ,12}
$DATA }, /* Test number: 15 */ { "data": $DATA{ ,12}
$DATA, "result": $DATA{ ,12}
$DATA }, /* Test number: 16 */ { "data": $DATA{ ,12} xy $DATA, "result": $DATA{ ,12} "x" "y" $DATA }, /* Test number: 17 */ { "data": $DATA{ ,12}

x $DATA, "result": $DATA{ ,12}

"x" $DATA }, /* Test number: 18 */ { "data": $DATA{ ,12}