mirror of
https://github.com/SoPat712/videospeed.git
synced 2025-08-21 18:08:46 -04:00
WebExtensions port Minimum Viable Product. Works in Firefox
- comment out chrome.extension.sendMessage - rename chrome.storage.sync to chrome.storage.local - remove createShadowRoot - add reload_once function
This commit is contained in:
10
inject.js
10
inject.js
@@ -1,4 +1,4 @@
|
|||||||
chrome.extension.sendMessage({}, function(response) {
|
// chrome.extension.sendMessage({}, function(response) {
|
||||||
var tc = {
|
var tc = {
|
||||||
settings: {
|
settings: {
|
||||||
speed: 1.0, // default 1x
|
speed: 1.0, // default 1x
|
||||||
@@ -21,7 +21,7 @@ chrome.extension.sendMessage({}, function(response) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
chrome.storage.sync.get(tc.settings, function(storage) {
|
chrome.storage.local.get(tc.settings, function(storage) {
|
||||||
tc.settings.speed = Number(storage.speed);
|
tc.settings.speed = Number(storage.speed);
|
||||||
tc.settings.speedStep = Number(storage.speedStep);
|
tc.settings.speedStep = Number(storage.speedStep);
|
||||||
tc.settings.rewindTime = Number(storage.rewindTime);
|
tc.settings.rewindTime = Number(storage.rewindTime);
|
||||||
@@ -62,7 +62,7 @@ chrome.extension.sendMessage({}, function(response) {
|
|||||||
var speed = this.getSpeed();
|
var speed = this.getSpeed();
|
||||||
this.speedIndicator.textContent = speed;
|
this.speedIndicator.textContent = speed;
|
||||||
tc.settings.speed = speed;
|
tc.settings.speed = speed;
|
||||||
chrome.storage.sync.set({'speed': speed});
|
chrome.storage.local.set({'speed': speed});
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
|
|
||||||
target.playbackRate = tc.settings.speed;
|
target.playbackRate = tc.settings.speed;
|
||||||
@@ -94,7 +94,7 @@ chrome.extension.sendMessage({}, function(response) {
|
|||||||
wrapper.addEventListener('mousedown', prevent, true);
|
wrapper.addEventListener('mousedown', prevent, true);
|
||||||
wrapper.addEventListener('click', prevent, true);
|
wrapper.addEventListener('click', prevent, true);
|
||||||
|
|
||||||
var shadow = wrapper.createShadowRoot();
|
var shadow = wrapper
|
||||||
var shadowTemplate = `
|
var shadowTemplate = `
|
||||||
<style>
|
<style>
|
||||||
@import "${chrome.extension.getURL('shadow.css')}";
|
@import "${chrome.extension.getURL('shadow.css')}";
|
||||||
@@ -364,4 +364,4 @@ chrome.extension.sendMessage({}, function(response) {
|
|||||||
animation = false;
|
animation = false;
|
||||||
}, 2000);
|
}, 2000);
|
||||||
}
|
}
|
||||||
});
|
// });
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
"version": "0.4.2",
|
"version": "0.4.2",
|
||||||
"manifest_version": 2,
|
"manifest_version": 2,
|
||||||
"description": "Speed up, slow down, advance and rewind any HTML5 video with quick shortcuts.",
|
"description": "Speed up, slow down, advance and rewind any HTML5 video with quick shortcuts.",
|
||||||
"homepage_url": "https://github.com/igrigorik/videospeed",
|
"homepage_url": "https://github.com/codebicycle/videospeed",
|
||||||
"icons": {
|
"icons": {
|
||||||
"16": "icons/icon16.png",
|
"16": "icons/icon16.png",
|
||||||
"48": "icons/icon48.png",
|
"48": "icons/icon48.png",
|
||||||
|
14
options.js
14
options.js
@@ -110,7 +110,7 @@ function save_options() {
|
|||||||
fasterKeyCode = isNaN(fasterKeyCode) ? tcDefaults.fasterKeyCode : fasterKeyCode;
|
fasterKeyCode = isNaN(fasterKeyCode) ? tcDefaults.fasterKeyCode : fasterKeyCode;
|
||||||
displayKeyCode = isNaN(displayKeyCode) ? tcDefaults.displayKeyCode : displayKeyCode;
|
displayKeyCode = isNaN(displayKeyCode) ? tcDefaults.displayKeyCode : displayKeyCode;
|
||||||
|
|
||||||
chrome.storage.sync.set({
|
chrome.storage.local.set({
|
||||||
speedStep: speedStep,
|
speedStep: speedStep,
|
||||||
rewindTime: rewindTime,
|
rewindTime: rewindTime,
|
||||||
advanceTime: advanceTime,
|
advanceTime: advanceTime,
|
||||||
@@ -134,7 +134,7 @@ function save_options() {
|
|||||||
|
|
||||||
// Restores options from chrome.storage
|
// Restores options from chrome.storage
|
||||||
function restore_options() {
|
function restore_options() {
|
||||||
chrome.storage.sync.get(tcDefaults, function(storage) {
|
chrome.storage.local.get(tcDefaults, function(storage) {
|
||||||
document.getElementById('speedStep').value = storage.speedStep.toFixed(2);
|
document.getElementById('speedStep').value = storage.speedStep.toFixed(2);
|
||||||
document.getElementById('rewindTime').value = storage.rewindTime;
|
document.getElementById('rewindTime').value = storage.rewindTime;
|
||||||
document.getElementById('advanceTime').value = storage.advanceTime;
|
document.getElementById('advanceTime').value = storage.advanceTime;
|
||||||
@@ -150,7 +150,7 @@ function restore_options() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function restore_defaults() {
|
function restore_defaults() {
|
||||||
chrome.storage.sync.set(tcDefaults, function() {
|
chrome.storage.local.set(tcDefaults, function() {
|
||||||
restore_options();
|
restore_options();
|
||||||
// Update status to let user know options were saved.
|
// Update status to let user know options were saved.
|
||||||
var status = document.getElementById('status');
|
var status = document.getElementById('status');
|
||||||
@@ -167,7 +167,15 @@ function initShortcutInput(inputId) {
|
|||||||
document.getElementById(inputId).addEventListener('keydown', recordKeyPress);
|
document.getElementById(inputId).addEventListener('keydown', recordKeyPress);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function reload_once() {
|
||||||
|
if(!window.location.hash) {
|
||||||
|
window.location = window.location + '#loaded';
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
|
reload_once();
|
||||||
restore_options();
|
restore_options();
|
||||||
|
|
||||||
document.getElementById('save').addEventListener('click', save_options);
|
document.getElementById('save').addEventListener('click', save_options);
|
||||||
|
Reference in New Issue
Block a user