1// Copyright 2009 Google Inc. All Rights Reserved. 2// Author: micapolos@google.com (Michal Pociecha-Los) 3// 4// Messages containing DOM data captured from the browser. 5// It includes the structure of the HTML document and Navigator data. 6 7syntax = "proto2"; 8 9option optimize_for = LITE_RUNTIME; 10 11package userfeedback; 12 13// Data captured from HTMLDocument DOM object. 14message HtmlDocument { 15 16 // The value of document.URL property. 17 required string url = 1; 18 19 // The value of document.title property. 20 optional string title = 2; 21 22 // The value of document.documentElement property. 23 optional HtmlElement document_element = 3; 24}; 25 26// Data captured from HTMLElement DOM object. 27message HtmlElement { 28 29 // The value of element.tagName property. 30 required string tag_name = 1; 31 32 // The value of element.id property. 33 optional string id = 2; 34 35 // The value of element.className property. 36 optional string class_name = 3; 37 38 // A list of child elements. 39 repeated HtmlElement child_element = 4; 40 41 // The value of frame.contentDocument property for FRAME and IFRAME elements. 42 optional HtmlDocument frame_content_document = 5; 43}; 44 45// Data captured from DOM Navigator object. 46message Navigator { 47 48 // The value of 'navigator.appCodeName' property. 49 optional string app_code_name = 1; 50 51 // The value of 'navigator.appName' property. 52 optional string app_name = 2; 53 54 // The value of 'navigator.appVersion' property. 55 optional string app_version = 3; 56 57 // The value of 'navigator.appMinorVersion' property. 58 optional string app_minor_version = 4; 59 60 // The value of 'navigator.cookieEnabled' property. 61 optional bool cookie_enabled = 5; 62 63 // The value of 'navigator.cpuClass' property. 64 optional string cpu_class = 6; 65 66 // The value of 'navigator.onLine' property. 67 optional bool on_line = 7; 68 69 // The value of 'navigator.platform' property. 70 optional string platform = 8; 71 72 // The value of 'navigator.browserLanguage' property. 73 optional string browser_language = 9; 74 75 // The value of 'navigator.systemLanguage' property. 76 optional string system_language = 10; 77 78 // The value of 'navigator.userAgent' property. 79 optional string user_agent = 11; 80 81 // The return value of 'navigator.javaEnabled()' method. 82 optional bool java_enabled = 12; 83 84 // The return value of 'navigator.taintEnabled()' method. 85 optional bool taint_enabled = 13; 86 87 // Plugin names specified by 'navigator.plugins' property. 88 repeated string plugin_name = 14; 89}; 90 91// A path in the HTML document between two elements, which are in the 92// ancestor-descendant relationship. 93message HtmlPath { 94 95 // Ordered list of zero-based indices. 96 // Empty path selects root element. 97 // Non-negative index N selects (N+1)-th child. 98 // Index -1 selects root element from frame content document. 99 repeated int32 index = 1; 100}; 101