| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |  | 
| 2 // Use of this source code is governed by a BSD-style license that can be |  | 
| 3 // found in the LICENSE file. |  | 
| 4 |  | 
| 5 // ----------------------------------------------------------------------------- |  | 
| 6 // NOTE: If you change this file you need to touch renderer_resources.grd to |  | 
| 7 // have your change take effect. |  | 
| 8 // ----------------------------------------------------------------------------- |  | 
| 9 |  | 
| 10 // Partial implementation of the Greasemonkey API, see: |  | 
| 11 // http://wiki.greasespot.net/Greasemonkey_Manual:APIs |  | 
| 12 |  | 
| 13 function GM_addStyle(css) { |  | 
| 14   var parent = document.getElementsByTagName("head")[0]; |  | 
| 15   if (!parent) { |  | 
| 16     parent = document.documentElement; |  | 
| 17   } |  | 
| 18   var style = document.createElement("style"); |  | 
| 19   style.type = "text/css"; |  | 
| 20   var textNode = document.createTextNode(css); |  | 
| 21   style.appendChild(textNode); |  | 
| 22   parent.appendChild(style); |  | 
| 23 } |  | 
| 24 |  | 
| 25 function GM_xmlhttpRequest(details) { |  | 
| 26   function setupEvent(xhr, url, eventName, callback) { |  | 
| 27     xhr[eventName] = function () { |  | 
| 28       var isComplete = xhr.readyState == 4; |  | 
| 29       var responseState = { |  | 
| 30         responseText: xhr.responseText, |  | 
| 31         readyState: xhr.readyState, |  | 
| 32         responseHeaders: isComplete ? xhr.getAllResponseHeaders() : "", |  | 
| 33         status: isComplete ? xhr.status : 0, |  | 
| 34         statusText: isComplete ? xhr.statusText : "", |  | 
| 35         finalUrl: isComplete ? url : "" |  | 
| 36       }; |  | 
| 37       callback(responseState); |  | 
| 38     }; |  | 
| 39   } |  | 
| 40 |  | 
| 41   var xhr = new XMLHttpRequest(); |  | 
| 42   var eventNames = ["onload", "onerror", "onreadystatechange"]; |  | 
| 43   for (var i = 0; i < eventNames.length; i++ ) { |  | 
| 44     var eventName = eventNames[i]; |  | 
| 45     if (eventName in details) { |  | 
| 46       setupEvent(xhr, details.url, eventName, details[eventName]); |  | 
| 47     } |  | 
| 48   } |  | 
| 49 |  | 
| 50   xhr.open(details.method, details.url); |  | 
| 51 |  | 
| 52   if (details.overrideMimeType) { |  | 
| 53     xhr.overrideMimeType(details.overrideMimeType); |  | 
| 54   } |  | 
| 55   if (details.headers) { |  | 
| 56     for (var header in details.headers) { |  | 
| 57       xhr.setRequestHeader(header, details.headers[header]); |  | 
| 58     } |  | 
| 59   } |  | 
| 60   xhr.send(details.data ? details.data : null); |  | 
| 61 } |  | 
| 62 |  | 
| 63 function GM_openInTab(url) { |  | 
| 64   window.open(url, ""); |  | 
| 65 } |  | 
| 66 |  | 
| 67 function GM_log(message) { |  | 
| 68   window.console.log(message); |  | 
| 69 } |  | 
| 70 |  | 
| 71 (function() { |  | 
| 72   function generateGreasemonkeyStub(name) { |  | 
| 73     return function() { |  | 
| 74       console.log("%s is not supported.", name); |  | 
| 75     }; |  | 
| 76   } |  | 
| 77 |  | 
| 78   var apis = ["GM_getValue", "GM_setValue", "GM_registerMenuCommand"]; |  | 
| 79   for (var i = 0, api; api = apis[i]; i++) { |  | 
| 80     window[api] = generateGreasemonkeyStub(api); |  | 
| 81   } |  | 
| 82 })(); |  | 
| OLD | NEW | 
|---|