Skip to content

Commit 6854a29

Browse files
committed
Version up v0.30.1.
1 parent 854c3fd commit 6854a29

File tree

15 files changed

+661
-425
lines changed

15 files changed

+661
-425
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

VERSION.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.30.0
1+
0.30.1

ja/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -202,10 +202,10 @@ Puppeteer(ヘッドレスChromeでの自動化) APIと互換性のあるAPIを
202202

203203
各プラットフォームに対し、インストーラとポータブル版の両方がダウンロードできます。
204204

205-
- [Windows Installer v0.30.0](https://github.com/kura52/sushi-browser/releases/download/0.30.0/sushi-browser-0.30.0-setup-x64.exe)
206-
- [Windows Portable v0.30.0(Chromium同梱)](https://github.com/kura52/sushi-browser/releases/download/0.30.0/sushi-browser-0.30.0-win-x64-chromium.zip)
207-
- [Windows Portable v0.30.0(Brave同梱)](https://github.com/kura52/sushi-browser/releases/download/0.30.0/sushi-browser-0.30.0-win-x64-brave.zip)
208-
- [Windows Portable v0.30.0](https://github.com/kura52/sushi-browser/releases/download/0.30.0/sushi-browser-0.30.0-win-x64.zip)
205+
- [Windows Installer v0.30.1](https://github.com/kura52/sushi-browser/releases/download/0.30.1/sushi-browser-0.30.1-setup-x64.exe)
206+
- [Windows Portable v0.30.1(Chromium同梱)](https://github.com/kura52/sushi-browser/releases/download/0.30.1/sushi-browser-0.30.1-win-x64-chromium.zip)
207+
- [Windows Portable v0.30.1(Brave同梱)](https://github.com/kura52/sushi-browser/releases/download/0.30.1/sushi-browser-0.30.1-win-x64-brave.zip)
208+
- [Windows Portable v0.30.1](https://github.com/kura52/sushi-browser/releases/download/0.30.1/sushi-browser-0.30.1-win-x64.zip)
209209
- [MacOS dmg v0.27.0](https://github.com/kura52/sushi-browser/releases/download/0.27.0/SushiBrowser-0.27.0.dmg)
210210
- [MacOS Portable v0.27.0](https://github.com/kura52/sushi-browser/releases/download/0.27.0/sushi-browser-0.27.0-mac-x64.zip)
211211
- [Linux rpm (for Fedora/CentOS) v0.29.1](https://github.com/kura52/sushi-browser/releases/download/0.29.1/sushi-browser-0.29.1-1.x86_64.rpm)

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sushi-browser",
3-
"version": "0.30.0",
3+
"version": "0.30.1",
44
"description": "Sushi Browser",
55
"main": "./lib/main.js",
66
"author": "kura52",

resource/extension/default/1.0_0/js/explorerSidebar.js

Lines changed: 95 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -34209,7 +34209,7 @@ if (window.__started_) {
3420934209
if (document.querySelector('video,audio')) {
3421034210
const [inputs] = await new Promise(r => {
3421134211
const key = Math.random().toString();
34212-
ipc.send('get-sync-main-states', ['inputsVideo'], key);
34212+
ipc.send('get-sync-main-states', ['inputsVideo'], key, location.href);
3421334213
ipc.once(`get-sync-main-states-reply_${key}`, (e, result) => r(result));
3421434214
});
3421534215
chrome.runtime.sendMessage({ event: "video-event", inputs });
@@ -34229,24 +34229,106 @@ if (window.__started_) {
3422934229
});
3423034230

3423134231
let equalizer;
34232+
const setVideoControllerVal = (v, name, val) => {
34233+
if (name == 'boost') {
34234+
return streamFunc(val * 10, true, v);
34235+
}
34236+
34237+
if (name == 'seek') {
34238+
const type = val[0];
34239+
if (type == 'play') {
34240+
v[v.paused ? 'play' : 'pause']();
34241+
} else if (type == 'loop') {
34242+
v.loop = !v.loop;
34243+
} else {
34244+
v.currentTime += type == 'backward2' ? -parseInt(val[2]) : type == 'backward1' ? -parseInt(val[1]) : type == 'step-backward' ? -1 / 30 : type == 'forward2' ? parseInt(val[2]) : type == 'forward1' ? parseInt(val[1]) : 1 / 30;
34245+
}
34246+
} else if (name == 'mute') {
34247+
v.muted = !v.muted;
34248+
} else if (name == 'maximize') {
34249+
maximizeInPanel(v);
34250+
} else if (name == 'fullscreen') {
34251+
v.webkitRequestFullscreen();
34252+
} else if (name == 'zoom') {
34253+
zoomVideo(v, void 0, val);
34254+
} else if (name == 'filter') {
34255+
v.style.filter = val;
34256+
} else if (name == 'abRepeat') {
34257+
v._abRepeat_ = val[0];
34258+
v._abRepeatRange_ = val[1];
34259+
v.removeEventListener('timeupdate', v._abRepeatEvent_);
34260+
v._abRepeatEvent_ = null;
34261+
34262+
if (v._abRepeat_) {
34263+
v._abRepeatEvent_ = () => {
34264+
const currentTime = v.currentTime;
34265+
if (currentTime < v._abRepeatRange_[0] || currentTime > v._abRepeatRange_[1]) {
34266+
v.currentTime = v._abRepeatRange_[0];
34267+
}
34268+
};
34269+
v.addEventListener('timeupdate', v._abRepeatEvent_);
34270+
}
34271+
} else if (name == 'equalizer') {
34272+
if (!equalizer) {
34273+
const Equalizer = __webpack_require__(887);
34274+
equalizer = new Equalizer(v);
34275+
}
34276+
equalizer.set(val[1]);
34277+
v._preset_ = val[0];
34278+
v._equalizer_ = val[1];
34279+
} else {
34280+
v[name] = val;
34281+
}
34282+
};
34283+
3423234284
chrome.runtime.onMessage.addListener(inputs => {
3423334285
if (inputs.stream) {
3423434286
streamFunc(inputs.val);
3423534287
} else if (inputs.video) {
3423634288
videoFunc({}, inputs.val);
34237-
if (inputs.val.showCurrentTime) {
34238-
for (const v of document.querySelectorAll('video')) {
34239-
let preTime = 0;
34240-
v.addEventListener('timeupdate', () => {
34241-
const time = Math.floor(v.currentTime);
34242-
if (time - preTime >= 1) {
34243-
ipc.send('send-to-host', 'showCurrentTime', time);
34244-
preTime = time;
34289+
34290+
const func = () => {
34291+
let v = document.querySelector('video._video-controlled-elem__');
34292+
if (!v) {
34293+
let isFirst = true;
34294+
for (const _v of document.querySelectorAll('video')) {
34295+
if (_v.duration < 60 && (_v.clientWidth <= 400 || _v.clientHeight <= 225)) continue;
34296+
34297+
if (!_v.paused) {
34298+
v = _v;
34299+
break;
3424534300
}
34246-
});
34301+
if (isFirst) {
34302+
v = _v;
34303+
isFirst = false;
34304+
}
34305+
}
34306+
if (v) {
34307+
v.classList.add('_video-controlled-elem__');
34308+
34309+
if (inputs.val.videoController) {
34310+
for (const [name, val] of Object.entries(inputs.val.videoController.values)) {
34311+
setVideoControllerVal(v, name, val);
34312+
}
34313+
}
34314+
34315+
if (inputs.val.showCurrentTime) {
34316+
let preTime = 0;
34317+
v.addEventListener('timeupdate', () => {
34318+
const time = Math.floor(v.currentTime);
34319+
if (Math.abs(time - preTime) >= 1) {
34320+
preTime = time;
34321+
ipc.send('send-to-host', 'showCurrentTime', time);
34322+
}
34323+
});
34324+
window.addEventListener("beforeunload", e => ipc.send('send-to-host', 'showCurrentTime', null));
34325+
}
34326+
}
3424734327
}
34248-
window.addEventListener("beforeunload", e => ipc.send('send-to-host', 'showCurrentTime', null));
34249-
}
34328+
return v;
34329+
};
34330+
const v = func();
34331+
setInterval(func, 2000);
3425034332
} else if (inputs.maximizeInPanel) {
3425134333
if (window == window.parent) {
3425234334
const iframes = document.querySelectorAll('iframe');
@@ -34271,55 +34353,7 @@ if (window.__started_) {
3427134353
const v = document.querySelector('video._video-controlled-elem__');
3427234354
if (!v) return;
3427334355

34274-
if (name == 'boost') {
34275-
return streamFunc(val * 10, true, v);
34276-
}
34277-
34278-
if (name == 'seek') {
34279-
const type = val[0];
34280-
if (type == 'play') {
34281-
v[v.paused ? 'play' : 'pause']();
34282-
} else if (type == 'loop') {
34283-
v.loop = !v.loop;
34284-
} else {
34285-
v.currentTime += type == 'backward2' ? -parseInt(val[2]) : type == 'backward1' ? -parseInt(val[1]) : type == 'step-backward' ? -1 / 30 : type == 'forward2' ? parseInt(val[2]) : type == 'forward1' ? parseInt(val[1]) : 1 / 30;
34286-
}
34287-
} else if (name == 'mute') {
34288-
v.muted = !v.muted;
34289-
} else if (name == 'maximize') {
34290-
maximizeInPanel(v);
34291-
} else if (name == 'fullscreen') {
34292-
v.webkitRequestFullscreen();
34293-
} else if (name == 'zoom') {
34294-
zoomVideo(v, void 0, val);
34295-
} else if (name == 'filter') {
34296-
v.style.filter = val;
34297-
} else if (name == 'abRepeat') {
34298-
v._abRepeat_ = val[0];
34299-
v._abRepeatRange_ = val[1];
34300-
v.removeEventListener('timeupdate', v._abRepeatEvent_);
34301-
v._abRepeatEvent_ = null;
34302-
34303-
if (v._abRepeat_) {
34304-
v._abRepeatEvent_ = () => {
34305-
const currentTime = v.currentTime;
34306-
if (currentTime < v._abRepeatRange_[0] || currentTime > v._abRepeatRange_[1]) {
34307-
v.currentTime = v._abRepeatRange_[0];
34308-
}
34309-
};
34310-
v.addEventListener('timeupdate', v._abRepeatEvent_);
34311-
}
34312-
} else if (name == 'equalizer') {
34313-
if (!equalizer) {
34314-
const Equalizer = __webpack_require__(887);
34315-
equalizer = new Equalizer(v);
34316-
}
34317-
equalizer.set(val[1]);
34318-
v._preset_ = val[0];
34319-
v._equalizer_ = val[1];
34320-
} else {
34321-
v[name] = val;
34322-
}
34356+
setVideoControllerVal(v, name, val);
3432334357
}
3432434358
return false;
3432534359
});

resource/extension/default/1.0_0/js/favoriteSidebar.js

Lines changed: 95 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -75771,7 +75771,7 @@ if (window.__started_) {
7577175771
if (document.querySelector('video,audio')) {
7577275772
const [inputs] = await new Promise(r => {
7577375773
const key = Math.random().toString();
75774-
ipc.send('get-sync-main-states', ['inputsVideo'], key);
75774+
ipc.send('get-sync-main-states', ['inputsVideo'], key, location.href);
7577575775
ipc.once(`get-sync-main-states-reply_${key}`, (e, result) => r(result));
7577675776
});
7577775777
chrome.runtime.sendMessage({ event: "video-event", inputs });
@@ -75791,24 +75791,106 @@ if (window.__started_) {
7579175791
});
7579275792

7579375793
let equalizer;
75794+
const setVideoControllerVal = (v, name, val) => {
75795+
if (name == 'boost') {
75796+
return streamFunc(val * 10, true, v);
75797+
}
75798+
75799+
if (name == 'seek') {
75800+
const type = val[0];
75801+
if (type == 'play') {
75802+
v[v.paused ? 'play' : 'pause']();
75803+
} else if (type == 'loop') {
75804+
v.loop = !v.loop;
75805+
} else {
75806+
v.currentTime += type == 'backward2' ? -parseInt(val[2]) : type == 'backward1' ? -parseInt(val[1]) : type == 'step-backward' ? -1 / 30 : type == 'forward2' ? parseInt(val[2]) : type == 'forward1' ? parseInt(val[1]) : 1 / 30;
75807+
}
75808+
} else if (name == 'mute') {
75809+
v.muted = !v.muted;
75810+
} else if (name == 'maximize') {
75811+
maximizeInPanel(v);
75812+
} else if (name == 'fullscreen') {
75813+
v.webkitRequestFullscreen();
75814+
} else if (name == 'zoom') {
75815+
zoomVideo(v, void 0, val);
75816+
} else if (name == 'filter') {
75817+
v.style.filter = val;
75818+
} else if (name == 'abRepeat') {
75819+
v._abRepeat_ = val[0];
75820+
v._abRepeatRange_ = val[1];
75821+
v.removeEventListener('timeupdate', v._abRepeatEvent_);
75822+
v._abRepeatEvent_ = null;
75823+
75824+
if (v._abRepeat_) {
75825+
v._abRepeatEvent_ = () => {
75826+
const currentTime = v.currentTime;
75827+
if (currentTime < v._abRepeatRange_[0] || currentTime > v._abRepeatRange_[1]) {
75828+
v.currentTime = v._abRepeatRange_[0];
75829+
}
75830+
};
75831+
v.addEventListener('timeupdate', v._abRepeatEvent_);
75832+
}
75833+
} else if (name == 'equalizer') {
75834+
if (!equalizer) {
75835+
const Equalizer = __webpack_require__(901);
75836+
equalizer = new Equalizer(v);
75837+
}
75838+
equalizer.set(val[1]);
75839+
v._preset_ = val[0];
75840+
v._equalizer_ = val[1];
75841+
} else {
75842+
v[name] = val;
75843+
}
75844+
};
75845+
7579475846
chrome.runtime.onMessage.addListener(inputs => {
7579575847
if (inputs.stream) {
7579675848
streamFunc(inputs.val);
7579775849
} else if (inputs.video) {
7579875850
videoFunc({}, inputs.val);
75799-
if (inputs.val.showCurrentTime) {
75800-
for (const v of document.querySelectorAll('video')) {
75801-
let preTime = 0;
75802-
v.addEventListener('timeupdate', () => {
75803-
const time = Math.floor(v.currentTime);
75804-
if (time - preTime >= 1) {
75805-
ipc.send('send-to-host', 'showCurrentTime', time);
75806-
preTime = time;
75851+
75852+
const func = () => {
75853+
let v = document.querySelector('video._video-controlled-elem__');
75854+
if (!v) {
75855+
let isFirst = true;
75856+
for (const _v of document.querySelectorAll('video')) {
75857+
if (_v.duration < 60 && (_v.clientWidth <= 400 || _v.clientHeight <= 225)) continue;
75858+
75859+
if (!_v.paused) {
75860+
v = _v;
75861+
break;
7580775862
}
75808-
});
75863+
if (isFirst) {
75864+
v = _v;
75865+
isFirst = false;
75866+
}
75867+
}
75868+
if (v) {
75869+
v.classList.add('_video-controlled-elem__');
75870+
75871+
if (inputs.val.videoController) {
75872+
for (const [name, val] of Object.entries(inputs.val.videoController.values)) {
75873+
setVideoControllerVal(v, name, val);
75874+
}
75875+
}
75876+
75877+
if (inputs.val.showCurrentTime) {
75878+
let preTime = 0;
75879+
v.addEventListener('timeupdate', () => {
75880+
const time = Math.floor(v.currentTime);
75881+
if (Math.abs(time - preTime) >= 1) {
75882+
preTime = time;
75883+
ipc.send('send-to-host', 'showCurrentTime', time);
75884+
}
75885+
});
75886+
window.addEventListener("beforeunload", e => ipc.send('send-to-host', 'showCurrentTime', null));
75887+
}
75888+
}
7580975889
}
75810-
window.addEventListener("beforeunload", e => ipc.send('send-to-host', 'showCurrentTime', null));
75811-
}
75890+
return v;
75891+
};
75892+
const v = func();
75893+
setInterval(func, 2000);
7581275894
} else if (inputs.maximizeInPanel) {
7581375895
if (window == window.parent) {
7581475896
const iframes = document.querySelectorAll('iframe');
@@ -75833,55 +75915,7 @@ if (window.__started_) {
7583375915
const v = document.querySelector('video._video-controlled-elem__');
7583475916
if (!v) return;
7583575917

75836-
if (name == 'boost') {
75837-
return streamFunc(val * 10, true, v);
75838-
}
75839-
75840-
if (name == 'seek') {
75841-
const type = val[0];
75842-
if (type == 'play') {
75843-
v[v.paused ? 'play' : 'pause']();
75844-
} else if (type == 'loop') {
75845-
v.loop = !v.loop;
75846-
} else {
75847-
v.currentTime += type == 'backward2' ? -parseInt(val[2]) : type == 'backward1' ? -parseInt(val[1]) : type == 'step-backward' ? -1 / 30 : type == 'forward2' ? parseInt(val[2]) : type == 'forward1' ? parseInt(val[1]) : 1 / 30;
75848-
}
75849-
} else if (name == 'mute') {
75850-
v.muted = !v.muted;
75851-
} else if (name == 'maximize') {
75852-
maximizeInPanel(v);
75853-
} else if (name == 'fullscreen') {
75854-
v.webkitRequestFullscreen();
75855-
} else if (name == 'zoom') {
75856-
zoomVideo(v, void 0, val);
75857-
} else if (name == 'filter') {
75858-
v.style.filter = val;
75859-
} else if (name == 'abRepeat') {
75860-
v._abRepeat_ = val[0];
75861-
v._abRepeatRange_ = val[1];
75862-
v.removeEventListener('timeupdate', v._abRepeatEvent_);
75863-
v._abRepeatEvent_ = null;
75864-
75865-
if (v._abRepeat_) {
75866-
v._abRepeatEvent_ = () => {
75867-
const currentTime = v.currentTime;
75868-
if (currentTime < v._abRepeatRange_[0] || currentTime > v._abRepeatRange_[1]) {
75869-
v.currentTime = v._abRepeatRange_[0];
75870-
}
75871-
};
75872-
v.addEventListener('timeupdate', v._abRepeatEvent_);
75873-
}
75874-
} else if (name == 'equalizer') {
75875-
if (!equalizer) {
75876-
const Equalizer = __webpack_require__(901);
75877-
equalizer = new Equalizer(v);
75878-
}
75879-
equalizer.set(val[1]);
75880-
v._preset_ = val[0];
75881-
v._equalizer_ = val[1];
75882-
} else {
75883-
v[name] = val;
75884-
}
75918+
setVideoControllerVal(v, name, val);
7588575919
}
7588675920
return false;
7588775921
});

0 commit comments

Comments
 (0)