Home | History | Annotate | Download | only in intros
      1 <h2 id="code">Implemention of the Chrome [OS] Feedback UI</h2>
      2 
      3 <p>
      4 The Chrome [OS] Feedback UI is invoked when the user clicks
      5 the Report an Issue button in the wrench->tools menu (wrench
      6 menu if on Chrome OS). This triggers the onFeedbackRequested event
      7 with a feedbackInfo object with the URL of the current page
      8 (determined by the active tab) and if available, the email of the
      9 logged in user filled in. On Chrome OS, the system information field
     10 in the feedbackInfo object may also contain relevent data <i>(for
     11 example, as of now it is populated with a TIMESTAMP key containing
     12 the timestamp of when the user invoked feedback</i>).
     13 </p>
     14 
     15 <p>
     16 The UI first takes a screenshot, then displays itself. It uses the
     17 provided API's to get system information and provides the user with
     18 fields to fill out feedback.
     19 </p>
     20 
     21 <p>
     22 Once the user is done, the UI uses the sendFeedback API to send the
     23 feedback to the feedback servers.
     24 </p>
     25 
     26 <p>
     27 The sendFeedback API gathers the feedback data and starts a post to
     28 the feedback servers. If the post is successful, a 'success' status
     29 is returned to the Feedback UI, otherwise a 'delayed' status is
     30 returned and Chrome continues to try to send the feedback every 4 hours
     31 for up to a day.
     32 </p>
     33 
     34 
     35 <p class="note">
     36 <b>Note:</b>
     37 The feedbackPrivate API can also be used by whitelisted apps to provide
     38 a custom feedback UI and send Chrome Feedback. The productId field in
     39 the feedbackInfo structure can be given to override the product ID to
     40 be sent with the feedback report. This will allow the app to send
     41 feedback to it's own feedback bucket instead of the default Chrome [OS]
     42 one.
     43 </p>
     44