Add Chrome extension
This commit is contained in:
parent
b9005ad30d
commit
cda69ea472
6 changed files with 75 additions and 0 deletions
52
chrome/background.js
Normal file
52
chrome/background.js
Normal 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
BIN
chrome/icon-128.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7 KiB |
BIN
chrome/icon-16.png
Normal file
BIN
chrome/icon-16.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2 KiB |
BIN
chrome/icon-48.png
Normal file
BIN
chrome/icon-48.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.3 KiB |
23
chrome/manifest.json
Normal file
23
chrome/manifest.json
Normal 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
BIN
chrome/screenshot-1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 169 KiB |
Loading…
Add table
Add a link
Reference in a new issue