RemoteObject.CustomPreview
Dump custom previews..
{
    bodyGetterId : <bodyGetterId>
    header : ["span",{},"Header formatted by 1 ","a"]
}
{
    id : <messageId>
    result : {
        result : {
            type : object
            value : [
                [0] : span
                [1] : {
                }
                [2] : Body formatted by 1 
                [3] : a
                [4] : [
                    [0] : object
                    [1] : {
                        className : Object
                        description : Object
                        objectId : <objectId>
                        type : object
                    }
                ]
            ]
        }
    }
}
{
    bodyGetterId : <bodyGetterId>
    header : ["span",{},"Header formatted by 2 ","b"]
}
{
    id : <messageId>
    result : {
        result : {
            type : object
            value : [
                [0] : span
                [1] : {
                }
                [2] : Body formatted by 2 
                [3] : b
            ]
        }
    }
}
{
    bodyGetterId : <bodyGetterId>
    header : ["span",{},"Header formatted by 1 ","c"]
}
{
    id : <messageId>
    result : {
        result : {
            type : object
            value : [
                [0] : span
                [1] : {
                }
                [2] : Body formatted by 1 
                [3] : c
                [4] : [
                    [0] : object
                    [1] : {
                        className : Object
                        description : Object
                        objectId : <objectId>
                        type : object
                    }
                ]
            ]
        }
    }
}
{
    header : ["span",{},"Formatter with config ",["object",{"type":"object","className":"Object","description":"Object","objectId":"{\"injectedScriptId\":1,\"id\":10}","customPreview":{"header":"[\"span\",{},\"Header \",\"info: \",\"additional info\"]","bodyGetterId":"{\"injectedScriptId\":1,\"id\":11}"}}]]
}
Change formatters order and dump again..
{
    bodyGetterId : <bodyGetterId>
    header : ["span",{},"Header formatted by 1 ","a"]
}
{
    id : <messageId>
    result : {
        result : {
            type : object
            value : [
                [0] : span
                [1] : {
                }
                [2] : Body formatted by 1 
                [3] : a
                [4] : [
                    [0] : object
                    [1] : {
                        className : Object
                        description : Object
                        objectId : <objectId>
                        type : object
                    }
                ]
            ]
        }
    }
}
{
    bodyGetterId : <bodyGetterId>
    header : ["span",{},"Header formatted by 2 ","b"]
}
{
    id : <messageId>
    result : {
        result : {
            type : object
            value : [
                [0] : span
                [1] : {
                }
                [2] : Body formatted by 2 
                [3] : b
            ]
        }
    }
}
{
    bodyGetterId : <bodyGetterId>
    header : ["span",{},"Header formatted by 2 ","c"]
}
{
    id : <messageId>
    result : {
        result : {
            type : object
            value : [
                [0] : span
                [1] : {
                }
                [2] : Body formatted by 2 
                [3] : c
            ]
        }
    }
}
{
    header : ["span",{},"Formatter with config ",["object",{"type":"object","className":"Object","description":"Object","objectId":"{\"injectedScriptId\":1,\"id\":21}","customPreview":{"header":"[\"span\",{},\"Header \",\"info: \",\"additional info\"]","bodyGetterId":"{\"injectedScriptId\":1,\"id\":22}"}}]]
}
Test Runtime.getProperties
{
    bodyGetterId : <bodyGetterId>
    header : ["span",{},"Header formatted by 1 ","a"]
}
{
    id : <messageId>
    result : {
        result : {
            type : object
            value : [
                [0] : span
                [1] : {
                }
                [2] : Body formatted by 1
                [3] : a
                [4] : [
                    [0] : object
                    [1] : {
                        className : Object
                        description : Object
                        objectId : <objectId>
                        type : object
                    }
                ]
            ]
        }
    }
}
Try to break custom preview..
{
    method : Runtime.consoleAPICalled
    params : {
        args : [
            [0] : {
                type : string
                value : Custom Formatter Failed: Uncaught 1
            }
        ]
        executionContextId : <executionContextId>
        timestamp : <timestamp>
        type : error
    }
}
{
    method : Runtime.consoleAPICalled
    params : {
        args : [
            [0] : {
                type : string
                value : Custom Formatter Failed: Uncaught 1
            }
        ]
        executionContextId : <executionContextId>
        timestamp : <timestamp>
        type : error
    }
}
{
    method : Runtime.consoleAPICalled
    params : {
        args : [
            [0] : {
                type : string
                value : Custom Formatter Failed: Uncaught 2
            }
        ]
        executionContextId : <executionContextId>
        timestamp : <timestamp>
        type : error
    }
}
{
    method : Runtime.consoleAPICalled
    params : {
        args : [
            [0] : {
                type : string
                value : Custom Formatter Failed: Uncaught 3
            }
        ]
        executionContextId : <executionContextId>
        timestamp : <timestamp>
        type : error
    }
}
{
    method : Runtime.consoleAPICalled
    params : {
        args : [
            [0] : {
                type : string
                value : Custom Formatter Failed: Uncaught 4
            }
        ]
        executionContextId : <executionContextId>
        timestamp : <timestamp>
        type : error
    }
}
