| 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 |