| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 <!DOCTYPE html> |  | 
| 2 <!-- |  | 
| 3  * Copyright (c) 2010 The Chromium Authors. All rights reserved.  Use of this |  | 
| 4  * source code is governed by a BSD-style license that can be found in the |  | 
| 5  * LICENSE file. |  | 
| 6 --> |  | 
| 7 <html> |  | 
| 8   <head> |  | 
| 9   </head> |  | 
| 10   <body> |  | 
| 11     <script> |  | 
| 12       /** |  | 
| 13        * Performs an XMLHttpRequest to Twitter's API to get trending topics. |  | 
| 14        * @param callback Function If the response from fetching url has a |  | 
| 15        *     HTTP status of 200, this function is called with a JSON decoded |  | 
| 16        *     response.  Otherwise, this function is called with null. |  | 
| 17        */ |  | 
| 18       function fetchTwitterFeed(callback) { |  | 
| 19         var xhr = new XMLHttpRequest(); |  | 
| 20         xhr.onreadystatechange = function(data) { |  | 
| 21           if (xhr.readyState == 4) { |  | 
| 22             if (xhr.status == 200) { |  | 
| 23               var data = JSON.parse(xhr.responseText); |  | 
| 24               callback(data); |  | 
| 25             } else { |  | 
| 26               callback(null); |  | 
| 27             } |  | 
| 28           } |  | 
| 29         } |  | 
| 30         // Note that any URL fetched here must be matched by a permission in |  | 
| 31         // the manifest.json file! |  | 
| 32         var url = 'http://api.twitter.com/1/trends/current.json?exclude=hashtags
    '; |  | 
| 33         xhr.open('GET', url, true); |  | 
| 34         xhr.send(); |  | 
| 35       }; |  | 
| 36 |  | 
| 37       /** |  | 
| 38        * Handles data sent via chrome.extension.sendRequest(). |  | 
| 39        * @param request Object Data sent in the request. |  | 
| 40        * @param sender Object Origin of the request. |  | 
| 41        * @param callback Function The method to call when the request completes. |  | 
| 42        */ |  | 
| 43       function onRequest(request, sender, callback) { |  | 
| 44         // Only supports the 'fetchTwitterFeed' method, although this could be |  | 
| 45         // generalized into a more robust RPC system. |  | 
| 46         if (request.action == 'fetchTwitterFeed') { |  | 
| 47           fetchTwitterFeed(callback); |  | 
| 48         } |  | 
| 49       }; |  | 
| 50 |  | 
| 51       // Wire up the listener. |  | 
| 52       chrome.extension.onRequest.addListener(onRequest); |  | 
| 53     </script> |  | 
| 54   </body> |  | 
| 55 </html> |  | 
| OLD | NEW | 
|---|