Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(386)

Side by Side Diff: trunk/src/extensions/renderer/resources/greasemonkey_api.js

Issue 309413002: Revert 274558 "Move some extensions renderer resources to extens..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2014 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 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698