Home | History | Annotate | Download | only in proto
      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.
      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 };
    102