Donner SVG main
0.8.0 ยท 382bd0190.8.0 main
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
ParsedPayloadResourceBudget.h File Reference
#include <array>
#include <cstddef>
#include <limits>
#include <memory>
#include <type_traits>
#include <unordered_map>
#include "donner/base/EcsRegistry_fwd.h"
#include "donner/svg/components/DocumentResourceFamilyBudget.h"
Include dependency graph for ParsedPayloadResourceBudget.h:

Classes

class  donner::svg::components::ParsedPayloadResourceBudget
 Bounds dynamic payload retained while parsing one untrusted SVG document. More...
struct  donner::svg::components::ParsedPayloadResourceBudget::Limits
 Local ceiling for all retained parsed payloads. More...
struct  donner::svg::components::ParsedPayloadResourceBudget::SecurityStats
 Current category bytes and cumulative admission failures. More...

Namespaces

namespace  donner
 Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css.
namespace  donner::svg
 Donner SVG library, which can load, manipulate and render SVG files.
namespace  donner::svg::components
 Contains the implementation of the Donner ECS,.

Class Documentation

◆ donner::svg::components::ParsedPayloadResourceBudget::Limits

struct donner::svg::components::ParsedPayloadResourceBudget::Limits

Local ceiling for all retained parsed payloads.

Class Members
size_t maximumRetainedBytes = 64 * 1024 * 1024 Maximum aggregate bytes retained across payload categories.

◆ donner::svg::components::ParsedPayloadResourceBudget::SecurityStats

struct donner::svg::components::ParsedPayloadResourceBudget::SecurityStats

Current category bytes and cumulative admission failures.

Class Members
size_t attributeBytes = 0 Bytes attributed to XML attributes.
size_t projectedTextBytes = 0 Bytes attributed to projected SVG text.
bool rejected = false Whether any request was rejected.
size_t rejectedReservations = 0 Number of failed or unrepresentable requests.
size_t retainedBytes = 0 Aggregate payload bytes currently reserved.
size_t stylesheetBytes = 0 Bytes attributed to stylesheets.