- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / feedback / proto / dom.proto
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
8 syntax = "proto2";
9
10 option optimize_for = LITE_RUNTIME;
11
12 package userfeedback;
13
14 // Data captured from HTMLDocument DOM object.
15 message 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.
28 message 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.
47 message 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.
94 message 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 };