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

    "protocol": {
        "package": "content/browser/devtools/protocol",
        "output": "protocol",
        "namespace": ["content", "protocol"],
        "export_macro": "CONTENT_EXPORT",
        "export_header": "content/common/content_export.h",
        "options": [
            {
                "domain": "Browser",
                "include": ["getVersion", "getHistograms", "getHistogram", "getBrowserCommandLine"]
            },
            {
                "domain": "DOM",
                "include": ["setFileInputFiles"],
                "include_events": []
            },
            {
                "domain": "Emulation",
                "include": ["setGeolocationOverride", "clearGeolocationOverride", "setEmitTouchEventsForMouse", "canEmulate", "setDeviceMetricsOverride", "clearDeviceMetricsOverride", "setVisibleSize", "setUserAgentOverride"]
            },
            {
                "domain": "Input",
                "async": ["dispatchKeyEvent", "dispatchMouseEvent", "dispatchTouchEvent", "synthesizePinchGesture", "synthesizeScrollGesture", "synthesizeTapGesture"]
            },
            {
                "domain": "Inspector"
            },
            {
                "domain": "IO",
                "async": ["read"],
                "exclude": ["resolveBlob"]
            },
            {
                "domain": "Memory",
                "include": ["getBrowserSamplingProfile", "setPressureNotificationsSuppressed", "simulatePressureNotification", "prepareForLeakDetection"],
                "async": ["prepareForLeakDetection"]
            },
            {
                "domain": "Network",
                "include": ["enable", "disable", "clearBrowserCache", "clearBrowserCookies", "getCookies", "getAllCookies", "deleteCookies", "setCookie", "setCookies", "setExtraHTTPHeaders", "canEmulateNetworkConditions", "emulateNetworkConditions", "setBypassServiceWorker", "setRequestInterception", "continueInterceptedRequest", "getResponseBodyForInterception", "setCacheDisabled", "takeResponseBodyForInterceptionAsStream"],
                "include_events": ["requestWillBeSent", "responseReceived", "loadingFinished", "loadingFailed", "requestIntercepted", "signedExchangeReceived"],
                "async": ["clearBrowserCookies", "clearBrowserCache", "getCookies", "getAllCookies", "deleteCookies", "setCookie", "setCookies", "continueInterceptedRequest", "getResponseBodyForInterception", "takeResponseBodyForInterceptionAsStream"]
            },
            {
                "domain": "Page",
                "include": ["enable", "disable", "reload", "navigate", "stopLoading", "getNavigationHistory", "navigateToHistoryEntry", "captureScreenshot",
                    "startScreencast", "stopScreencast", "screencastFrameAck", "handleJavaScriptDialog", "setColorPickerEnabled", "requestAppBanner",
                    "printToPDF", "bringToFront", "setDownloadBehavior", "getAppManifest", "crash", "close", "setWebLifecycleState"],
                "include_events": ["colorPicked", "interstitialShown", "interstitialHidden", "javascriptDialogOpening", "javascriptDialogClosed", "screencastVisibilityChanged", "screencastFrame"],
                "async": ["captureScreenshot", "printToPDF", "navigate", "getAppManifest"]
            },
            {
                "domain": "Runtime",
                "include_events": [],
                "include": []
            },
            {
                "domain": "Schema"
            },
            {
                "domain": "Security"
            },
            {
                "domain": "ServiceWorker",
                "async": ["stopAllWorkers"]
            },
            {
                "domain": "Storage",
                "async": ["getUsageAndQuota", "clearDataForOrigin"]
            },
            {
                "domain": "SystemInfo",
                "async": ["getInfo"]
            },
            {
                "domain": "Target"
            },
            {
                "domain": "Tethering",
                "async": ["bind", "unbind"]
            },
            {
                "domain": "Tracing",
                "async": ["start", "end", "getCategories", "requestMemoryDump"]
            }
        ]
    },

    "lib": {
        "package": "content/browser/devtools/protocol",
        "output": "protocol",
        "string_header": "content/browser/devtools/protocol_string.h",
        "export_macro": "CONTENT_EXPORT",
        "export_header": "content/common/content_export.h"
    }
}
