1// Copyright 2009 Google Inc. All Rights Reserved. 2// Author: morgwai@google.com (Morgwai Kotarbinski) 3// 4// Messages sent from extension to feedback server as JSON. 5 6syntax = "proto2"; 7 8option optimize_for = LITE_RUNTIME; 9 10package userfeedback; 11 12import "common.proto"; 13import "chrome.proto"; 14import "dom.proto"; 15import "math.proto"; 16import "web.proto"; 17 18// Sent along with request for extension page when user attempts to open 19// feedback tab. 20message ExtensionPageRequestParams { 21 22 required ExtensionDetails extension_details = 1; 23 24 // Url of the page (without request params) that user wants to open 25 // feedback tool for. 26 required string url = 2; 27}; 28 29message PostedScreenshot { 30 31 required string mime_type = 1; 32 33 required Dimensions dimensions = 2; 34 35 optional string base64_content = 3; 36 37 optional bytes binary_content = 4; 38}; 39 40// Contains data about possible errors on the client side. 41// Describes number of attempts to send feedback and possible error codes/ 42// exceptions which occured. 43message ExtensionErrors { 44 45 required int32 number_of_attempts = 1; 46 47 required string errors = 2; 48}; 49 50// Sent when user hits final submit button in external extension. 51// NOTE: Field numbers for ExternalExtensionSubmit and InternalExtensionSubmit 52// share the same number space, because we don't want submission from internal 53// extension to the external address, or submission from external extension to 54// internal address, work by accident, partially work, or break in an odd way. 55// If the field numbers were overlapping for both protos, such cross-submission 56// might work, due to the specifics of JsPbLite. 57message ExternalExtensionSubmit { 58 59 required CommonData common_data = 1; 60 61 required WebData web_data = 2; 62 63 required int32 type_id = 3; 64 65 optional PostedScreenshot screenshot = 4; 66 67 optional HtmlDocument html_document_structure = 5; 68 69 optional ExtensionErrors extension_errors = 13; 70 71 optional ChromeData chrome_data = 14; 72 73 repeated ProductSpecificBinaryData product_specific_binary_data = 15; 74}; 75 76// Sent when user hits final submit button in internal extension. 77// NOTE: Field numbers for ExternalExtensionSubmit and InternalExtensionSubmit 78// share the same number space. See comment for ExternalExtensionSubmit. 79message InternalExtensionSubmit { 80 81 required CommonData common_data = 6; 82 83 required WebData web_data = 7; 84 85 optional int32 type_id = 8; 86 87 optional PostedScreenshot screenshot = 9; 88 89 optional HtmlDocument html_document_structure = 10; 90 91 optional InternalWebData internal_data = 11; 92 93 optional ExtensionErrors extension_errors = 12; 94 95 repeated ProductSpecificBinaryData product_specific_binary_data = 15; 96}; 97 98// A query for suggestions, sent when the user hits the preview button. 99message SuggestQuery { 100 101 required CommonData common_data = 1; 102 103 required WebData web_data = 2; 104 105 required int32 type_id = 3; 106 107 optional HtmlDocument html_document_structure = 4; 108}; 109