The Layout Test Protocol (LTP) is a line-based protocol for requesting layout tests from DumpRenderTree (DRT) or WebKitTestRunner (WKTR). Requests come into DRT/WKTR from standard input or into a socket. Responses leave DRT/WKTR via standard output/error or into a socket. The protocol works similarly to HTTP, where a content type and length are sent before blocks of data. A response consists of multiple chunks, all of which are optional: - RenderTree: The textual representation of the render tree - Image: An image capture of the web view - Audio: An audio capture during the test - Error: Other textual output corresponding to standard error - DumpMalloc: Number of committed virtual memory bytes Requests {{{ Request -> Path Newline Path -> [^\n]+ }}} Responses {{{ Response -> RenderTree Image Audio Error DumpMalloc EOF ContentLength: -> 'Content-Length: %lu' Newline EOF -> '#EOF' Newline Newline -> '\n' RenderTree -> ContentTypeText ContentLength Data ContentTypeText -> 'Content-type: text/plain' Newline Data -> bytes Image -> ContentTypePNG ContentLength Data ContentTypePNG -> 'Content-type: image/png' Newline Audio -> ContentTypeAudio ContentLength Data ContentTypeAudio -> 'Content-type: audio/wav' Newline Error -> ContentTypeText ContentLength Text DumpMalloc -> 'DumpMalloc: %li' }}}