Skip to content

Instantly share code, notes, and snippets.

View JamesMGreene's full-sized avatar

James M. Greene JamesMGreene

View GitHub Profile
@JamesMGreene
JamesMGreene / copy.md
Last active December 25, 2015 07:49
Design discussion about the JSON responses from ZeroClipboard's "complete" event

CURRENT:

{
  "flashVersion": "WIN 11,2,000",
  "text": "Blah blah blah"
}
@JamesMGreene
JamesMGreene / jshint-docs-clarifier.js
Last active December 23, 2015 05:18
A jQuery-based bookmarklet to clarify the JSHint Options documentation. Only works in IE9+.
(function($) {
var nonBooleanOptions = ['indent', 'maxparams', 'maxdepth', 'maxstatements', 'maxcomplexity', 'maxlen'];
function clarifyDocs() {
var $ = window.jQuery;
var selectorExceptions = $.map(nonBooleanOptions, function(e) {
return ':not(:contains("' + e + '"))';
}).join('');
var selector = '.content > table tr:has(> td.name' + selectorExceptions+ ') > td.desc > p:first-child';
$(selector).each(function() {
@JamesMGreene
JamesMGreene / AdamSaysSo.js
Last active December 22, 2015 18:49
Adam says so.
(function() {
// Duck punch that mofo
$.Deferred = (function(deferredDef) {
var slicer = [].slice;
var adamSaysSo = function(truthy) {
var args = slicer.call(arguments, 1);
return this[truthy ? 'resolve' : 'reject'].apply(this, args);
@JamesMGreene
JamesMGreene / 0 - README.md
Last active February 20, 2018 18:10
A brief example of the latest idea for communicating with PhantomJS from the client-side.

A brief example of the latest idea for communicating with PhantomJS from the client-side.

This is the next revision of ideas discussed in a previous Gist:
    https://gist.github.com/JamesMGreene/3716654

This example demonstrates shimming in the new communication channels under discussion via existing methods (WebPage#onCallback and window.callPhantom).

The example does, however, take advantage of a yet-to-be-implemented EventEmitter API for core modules in the PhantomJS outer context. This API would add the following methods to core modules as appropriate:

  • on / addEventListener
@JamesMGreene
JamesMGreene / UsingPepperFlash.js
Last active December 17, 2015 20:59
A little code snippet to check if the current browser is enabled to use the Chromium built-in PPAPI (a.k.a. "Pepper") Flash Player, i.e. instead of the Adobe Flash Player (or some other player, e.g. Gnash, Klash, etc.).
// NOTE: Some code taken from this StackOverflow question:
// http://stackoverflow.com/questions/12866060/detecting-pepper-ppapi-flash-with-javascript
var isUsingPepperFlash = (function() {
var getFlashPlayerFileName = function(mimeTypes, type) {
return (
mimeTypes &&
mimeTypes[type] &&
mimeTypes[type].enabledPlugin &&
mimeTypes[type].enabledPlugin.filename
@JamesMGreene
JamesMGreene / ZC_AMD_Test.js
Last active February 11, 2024 22:53
Possible Node.js test for AMD support in ZeroClipboard
exports = {
"Test onLoad Event with AMD": function (test) {
test.expect(1);
var amdTester = (function() {
var amdCache = {
"zc": zeroClipboard
};
return function(depIds, cb) {
var depVals = depIds.map(function(id) { return amdCache[id]; });
@JamesMGreene
JamesMGreene / phantomjs-xhr.js
Last active June 11, 2018 10:53
Example of (a) successfully executing a cross-domain XHR from the PhantomJS outer context to a wildcard CORS-enabled site; and (b) failing to execute a cross-domain XHR from the PhantomJS outer context to a site that is not CORS-enabled.
var urls = [
/* Wildcard CORS enabled - Works in PhantomJS 1.9.0 */
'http://updates.html5rocks.com',
/* CORS disabled - Fails in PhantomJS 1.9.0 (and every other version) */
'http://www.google.com',
/* Hack workaround? */
/*
function(httpGet, callback) {
phantom.page.settings = (phantom.page.settings || {});
phantom.page.settings.webSecurityEnabled = false;
@JamesMGreene
JamesMGreene / issue-refs-match
Created April 4, 2013 21:01
Data files for Google Code to GitHub issue reference transformation testing
***************************
* SHOULD BE REPLACED! *
***************************
Same project, issue, no octothorpe:
- Issue 7
- issue 7
- ISSUE 7
Same project, issue, with octothorpe:
@JamesMGreene
JamesMGreene / vs2012_fix.patch
Created March 22, 2013 12:45 — forked from vitallium/vs2012_fix.patch
Patch to fix PhantomJS build when running with VS2012
diff --git a/src/qt/src/3rdparty/webkit/Source/JavaScriptCore/wtf/HashSet.h b/src/qt/src/3rdparty/webkit/Source/JavaScriptCore/wtf/HashSet.h
index 82245f3..932d254 100644
--- a/src/qt/src/3rdparty/webkit/Source/JavaScriptCore/wtf/HashSet.h
+++ b/src/qt/src/3rdparty/webkit/Source/JavaScriptCore/wtf/HashSet.h
@@ -175,18 +175,20 @@ namespace WTF {
}
template<typename T, typename U, typename V>
- inline pair<typename HashSet<T, U, V>::iterator, bool> HashSet<T, U, V>::add(const ValueType& value)
+ inline pair<typename HashSet<T,U,V>::const_iterator, bool> HashSet<T,U,V>::add(const ValueType &value)
javascript:(function(e,a,g,h,f,c,b,d)%7Bif(!(f=e.jQuery)%7C%7Cg%3Ef.fn.jquery%7C%7Ch(f))%7Bc=a.createElement(%22script%22);c.type=%22text/javascript%22;c.src=%22http://ajax.googleapis.com/ajax/libs/jquery/%22+g+%22/jquery.min.js%22;c.onload=c.onreadystatechange=function()%7Bif(!b&&(!(d=this.readyState)%7C%7Cd==%22loaded%22%7C%7Cd==%22complete%22))%7Bh((f=e.jQuery).noConflict(1),b=1);f(c).remove()%7D%7D;a.documentElement.childNodes%5B0%5D.appendChild(c)%7D%7D)(window,document,%221.3.2%22,function($,L)%7B$('%23header,%20.pagehead,%20.breadcrumb,%20.commit,%20.meta,%20%23footer,%20%23footer-push,%20.wiki-actions,%20%23last-edit,%20.actions,%20.header').remove();%20$('%23files,%20.file').css(%7B%22background%22:%22none%22,%20%22border%22:%22none%22%7D);%20$('link').removeAttr('media');%7D);