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