Home | History | Annotate | Download | only in proto
      1 // Copyright 2009 Google Inc. All Rights Reserved.
      2 // Author: micapolos (a] google.com (Michal Pociecha-Los)
      3 //
      4 // Messages containing DOM data captured from the browser.
      5 // It includes the structure of the HTML document and Navigator data.
      6 
      7 syntax = "proto2";
      8 
      9 option optimize_for = LITE_RUNTIME;
     10 
     11 package userfeedback;
     12 
     13 // Data captured from HTMLDocument DOM object.
     14 message HtmlDocument {
     15 
     16   // The value of document.URL property.
     17   required string url = 1;
     18 
     19   // The value of document.title property.
     20   optional string title = 2;
     21 
     22   // The value of document.documentElement property.
     23   optional HtmlElement document_element = 3;
     24 };
     25 
     26 // Data captured from HTMLElement DOM object.
     27 message HtmlElement {
     28 
     29   // The value of element.tagName property.
     30   required string tag_name = 1;
     31 
     32   // The value of element.id property.
     33   optional string id = 2;
     34 
     35   // The value of element.className property.
     36   optional string class_name = 3;
     37 
     38   // A list of child elements.
     39   repeated HtmlElement child_element = 4;
     40 
     41   // The value of frame.contentDocument property for FRAME and IFRAME elements.
     42   optional HtmlDocument frame_content_document = 5;
     43 };
     44 
     45 // Data captured from DOM Navigator object.
     46 message Navigator {
     47 
     48   // The value of 'navigator.appCodeName' property.
     49   optional string app_code_name = 1;
     50 
     51   // The value of 'navigator.appName' property.
     52   optional string app_name = 2;
     53 
     54   // The value of 'navigator.appVersion' property.
     55   optional string app_version = 3;
     56 
     57   // The value of 'navigator.appMinorVersion' property.
     58   optional string app_minor_version = 4;
     59 
     60   // The value of 'navigator.cookieEnabled' property.
     61   optional bool cookie_enabled = 5;
     62 
     63   // The value of 'navigator.cpuClass' property.
     64   optional string cpu_class = 6;
     65 
     66   // The value of 'navigator.onLine' property.
     67   optional bool on_line = 7;
     68 
     69   // The value of 'navigator.platform' property.
     70   optional string platform = 8;
     71 
     72   // The value of 'navigator.browserLanguage' property.
     73   optional string browser_language = 9;
     74 
     75   // The value of 'navigator.systemLanguage' property.
     76   optional string system_language = 10;
     77 
     78   // The value of 'navigator.userAgent' property.
     79   optional string user_agent = 11;
     80 
     81   // The return value of 'navigator.javaEnabled()' method.
     82   optional bool java_enabled = 12;
     83 
     84   // The return value of 'navigator.taintEnabled()' method.
     85   optional bool taint_enabled = 13;
     86 
     87   // Plugin names specified by 'navigator.plugins' property.
     88   repeated string plugin_name = 14;
     89 };
     90 
     91 // A path in the HTML document between two elements, which are in the
     92 // ancestor-descendant relationship.
     93 message HtmlPath {
     94 
     95   // Ordered list of zero-based indices.
     96   // Empty path selects root element.
     97   // Non-negative index N selects (N+1)-th child.
     98   // Index -1 selects root element from frame content document.
     99   repeated int32 index = 1;
    100 };
    101