// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Messages containing DOM data captured from the browser. // It includes the structure of the HTML document and Navigator data. syntax = "proto2"; option optimize_for = LITE_RUNTIME; package userfeedback; // Data captured from HTMLDocument DOM object. message HtmlDocument { // The value of document.URL property. required string url = 1; // The value of document.title property. optional string title = 2; // The value of document.documentElement property. optional HtmlElement document_element = 3; }; // Data captured from HTMLElement DOM object. message HtmlElement { // The value of element.tagName property. required string tag_name = 1; // The value of element.id property. optional string id = 2; // The value of element.className property. optional string class_name = 3; // A list of child elements. repeated HtmlElement child_element = 4; // The value of frame.contentDocument property for FRAME and IFRAME elements. optional HtmlDocument frame_content_document = 5; }; // Data captured from DOM Navigator object. message Navigator { // The value of 'navigator.appCodeName' property. optional string app_code_name = 1; // The value of 'navigator.appName' property. optional string app_name = 2; // The value of 'navigator.appVersion' property. optional string app_version = 3; // The value of 'navigator.appMinorVersion' property. optional string app_minor_version = 4; // The value of 'navigator.cookieEnabled' property. optional bool cookie_enabled = 5; // The value of 'navigator.cpuClass' property. optional string cpu_class = 6; // The value of 'navigator.onLine' property. optional bool on_line = 7; // The value of 'navigator.platform' property. optional string platform = 8; // The value of 'navigator.browserLanguage' property. optional string browser_language = 9; // The value of 'navigator.systemLanguage' property. optional string system_language = 10; // The value of 'navigator.userAgent' property. optional string user_agent = 11; // The return value of 'navigator.javaEnabled()' method. optional bool java_enabled = 12; // The return value of 'navigator.taintEnabled()' method. optional bool taint_enabled = 13; // Plugin names specified by 'navigator.plugins' property. repeated string plugin_name = 14; }; // A path in the HTML document between two elements, which are in the // ancestor-descendant relationship. message HtmlPath { // Ordered list of zero-based indices. // Empty path selects root element. // Non-negative index N selects (N+1)-th child. // Index -1 selects root element from frame content document. repeated int32 index = 1; };