Home | History | Annotate | Download | only in contentscript_xhr
      1 /*
      2  * Copyright (c) 2010 The Chromium Authors. All rights reserved.  Use of this
      3  * source code is governed by a BSD-style license that can be found in the
      4  * LICENSE file.
      5  */
      6 
      7 /**
      8  * Parses text from Twitter's API and generates a bar with trending topics at
      9  * the top of the current page
     10  * @param data Object JSON decoded response.  Null if the request failed.
     11  */
     12 function onText(data) {
     13   // Only render the bar if the data is parsed into a format we recognize.
     14   if (data.trends) {
     15     var trend_names = []
     16     for (var date in data.trends) {
     17       if (data.trends.hasOwnProperty(date)) {
     18         var trends = data.trends[date];
     19         for (var i=0,trend; trend = trends[i]; i++) {
     20           trend_names.push(trend.name);
     21         }
     22       }
     23     }
     24 
     25     // Create the overlay at the top of the page and fill it with data.
     26     var trends_dom = document.createElement('div');
     27     var title_dom = document.createElement('strong');
     28     var text_dom = document.createTextNode(trend_names.join(', '));
     29     title_dom.innerText = 'Topics currently trending on Twitter ';
     30     trends_dom.appendChild(title_dom);
     31     trends_dom.appendChild(text_dom);
     32     trends_dom.style.background = '#36b';
     33     trends_dom.style.color = '#fff';
     34     trends_dom.style.padding = '10px';
     35     trends_dom.style.position = 'relative';
     36     trends_dom.style.zIndex = '123456';
     37     trends_dom.style.font = '14px Arial';
     38     document.body.insertBefore(trends_dom, document.body.firstChild);
     39   }
     40 };
     41 
     42 // Send a request to fetch data from Twitter's API to the background page.
     43 // Specify that onText should be called with the result.
     44 chrome.extension.sendRequest({'action' : 'fetchTwitterFeed'}, onText);
     45