Add Chrome extension

This commit is contained in:
Jonathan Cremin 2014-12-07 22:06:08 +00:00
parent b9005ad30d
commit cda69ea472
6 changed files with 75 additions and 0 deletions

52
chrome/background.js Normal file
View file

@ -0,0 +1,52 @@
"use strict";
chrome.runtime.onInstalled.addListener(function() {
chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
chrome.declarativeContent.onPageChanged.addRules([
{
conditions: [
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { hostEquals: 'play.google.com', pathPrefix: "/music" },
}),
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { hostEquals: 'itunes.apple.com', pathPrefix: "/music" },
}),
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { hostSuffix: 'spotify.com' },
}),
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { hostSuffix: 'beatsmusic.com' },
}),
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { hostSuffix: 'deezer.com' },
}),
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { hostSuffix: 'rdio.com' },
}),
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { hostSuffix: 'rd.io' },
}),
],
actions: [ new chrome.declarativeContent.ShowPageAction() ]
}
]);
});
});
chrome.pageAction.onClicked.addListener(function(tab) {
var params = "url=" + encodeURI(tab.url);
var xhr = new XMLHttpRequest();
xhr.open("POST", "https://match.audio/search", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
var parser = document.createElement('a');
parser.href = xhr.responseURL;
if (!parser.pathname.match(/^(\/search|\/)$/)) {
chrome.tabs.create({ url: xhr.responseURL});
}
}
}
xhr.send(params);
});

BIN
chrome/icon-128.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7 KiB

BIN
chrome/icon-16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

BIN
chrome/icon-48.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

23
chrome/manifest.json Normal file
View file

@ -0,0 +1,23 @@
{
"name" : "Match Audio",
"version" : "0.2.0",
"description" : "Match Audio makes sharing from music services better.",
"background" : {
"persistent": false,
"scripts": [ "background.js" ]
},
"page_action" : {
"default_icon": {
"16": "icon-16.png",
"48": "icon-48.png",
"128": "icon-128.png"
}
},
"permissions" : [ "declarativeContent", "https://match.audio/" ],
"icons": {
"16": "icon-16.png",
"48": "icon-48.png",
"128": "icon-128.png"
},
"manifest_version": 2
}

BIN
chrome/screenshot-1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB