blob: 0366b1b254507ad765b4267222410898c3d6a825 [file] [log] [blame]
// Copyright 2014 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;
};