chromium/headless/protocol_config.json

{
    "use_snake_file_names": true,
    "use_title_case_methods": true,

    "protocol": {
        "package": "headless/lib/browser/protocol",
        "output": "lib/browser/protocol",
        "namespace": ["headless", "protocol"],
        "export_macro": "HEADLESS_EXPORT",
        "export_header": "headless/public/headless_export.h",
        "options": [
            {
                "domain": "Target",
                "include": ["createTarget", "closeTarget"],
                "include_events": []
            },
            {
                "domain": "Browser",
                "include": ["close", "getWindowForTarget", "getWindowBounds", "setWindowBounds", "setDockTile" ],
                "include_events": []
            },
            {
                "domain": "HeadlessExperimental",
                "async": ["beginFrame"]
            },
            {
                "domain": "Page",
                "include": ["printToPDF"],
                "async": ["printToPDF"],
                "include_events": []
            }
        ]
    },

    "lib": {
        "package": "headless/lib/browser/protocol",
        "output": "lib/browser/protocol",
        "protocol_traits": "third_party/inspector_protocol/crdtp/chromium/protocol_traits.h",
        "export_macro": "HEADLESS_EXPORT",
        "export_header": "headless/public/headless_export.h"
    },

    "crdtp": {
        "namespace": "crdtp"
    }
}