Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / components / feedback / proto / dom.proto
blob0366b1b254507ad765b4267222410898c3d6a825
1 // Copyright 2014 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.
5 // Messages containing DOM data captured from the browser.
6 // It includes the structure of the HTML document and Navigator data.
8 syntax = "proto2";
10 option optimize_for = LITE_RUNTIME;
12 package userfeedback;
14 // Data captured from HTMLDocument DOM object.
15 message HtmlDocument {
17   // The value of document.URL property.
18   required string url = 1;
20   // The value of document.title property.
21   optional string title = 2;
23   // The value of document.documentElement property.
24   optional HtmlElement document_element = 3;
27 // Data captured from HTMLElement DOM object.
28 message HtmlElement {
30   // The value of element.tagName property.
31   required string tag_name = 1;
33   // The value of element.id property.
34   optional string id = 2;
36   // The value of element.className property.
37   optional string class_name = 3;
39   // A list of child elements.
40   repeated HtmlElement child_element = 4;
42   // The value of frame.contentDocument property for FRAME and IFRAME elements.
43   optional HtmlDocument frame_content_document = 5;
46 // Data captured from DOM Navigator object.
47 message Navigator {
49   // The value of 'navigator.appCodeName' property.
50   optional string app_code_name = 1;
52   // The value of 'navigator.appName' property.
53   optional string app_name = 2;
55   // The value of 'navigator.appVersion' property.
56   optional string app_version = 3;
58   // The value of 'navigator.appMinorVersion' property.
59   optional string app_minor_version = 4;
61   // The value of 'navigator.cookieEnabled' property.
62   optional bool cookie_enabled = 5;
64   // The value of 'navigator.cpuClass' property.
65   optional string cpu_class = 6;
67   // The value of 'navigator.onLine' property.
68   optional bool on_line = 7;
70   // The value of 'navigator.platform' property.
71   optional string platform = 8;
73   // The value of 'navigator.browserLanguage' property.
74   optional string browser_language = 9;
76   // The value of 'navigator.systemLanguage' property.
77   optional string system_language = 10;
79   // The value of 'navigator.userAgent' property.
80   optional string user_agent = 11;
82   // The return value of 'navigator.javaEnabled()' method.
83   optional bool java_enabled = 12;
85   // The return value of 'navigator.taintEnabled()' method.
86   optional bool taint_enabled = 13;
88   // Plugin names specified by 'navigator.plugins' property.
89   repeated string plugin_name = 14;
92 // A path in the HTML document between two elements, which are in the
93 // ancestor-descendant relationship.
94 message HtmlPath {
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;