Skip to content

Commit 0935c78

Browse files
committed
Chrome compatibility
1 parent 606ad01 commit 0935c78

File tree

4 files changed

+29
-43
lines changed

4 files changed

+29
-43
lines changed

README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
Image Reverse Search
22
================================
3-
Firefox WebExtension which adds an option to the context menu to search with an image on various services, such as Google, Bing, Yandex and TinEye. Also has options to open the search page in a background tab and left or right to the current tab or at the end of the tabstrip.
3+
WebExtension which adds an option to the context menu to search with an image on various services, such as Google, Bing, Yandex and TinEye. The user can also choose a custom search engine. Has options to open the search page in a background tab and left or right to the current tab or at the end of the tabstrip, too.
44

55
* Available for Firefox on [addons.mozilla.org](https://addons.mozilla.org/firefox/addon/image-reverse-search/)
6-
* Available for Opera in the [Opera Add-Ons Store](https://addons.opera.com/extensions/details/image-reverse-search-with-google/) (legacy)
7-
8-
For the older chrome version, see the ["chrome" branch](https://github.com/Brawl345/Image-Reverse-Search-with-Google/tree/chrome).
6+
* Available for Opera in the [Opera Add-Ons Store](https://addons.opera.com/extensions/details/image-reverse-search-with-google/)
7+
* Available for Chrome in the [Releases section](https://github.com/Brawl345/Image-Reverse-Search-with-Google/releases) (drag CRX into chrome://extensions)
98

109
![Screenshot](https://raw.githubusercontent.com/Brawl345/Image-Reverse-Search-with-Google/master/screenshot.png)

background.js

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Set up context menu for images
2-
var title = browser.i18n.getMessage("contextMenuTitle");
3-
browser.contextMenus.create({
2+
var title = chrome.i18n.getMessage("contextMenuTitle");
3+
chrome.contextMenus.create({
44
id: "343642_image-reverse-search",
55
title: title,
66
contexts: ["image"]
@@ -22,15 +22,13 @@ function onError(e) {
2222
If we don't, then store the default settings. */
2323
function checkStoredSettings(storedSettings) {
2424
if (!storedSettings.openInBackground || !storedSettings.openTabAt || !storedSettings.searchProvider) {
25-
browser.storage.sync.set(defaultSettings);
25+
chrome.storage.sync.set(defaultSettings);
2626
}
2727
}
2828

29-
const gettingStoredSettings = browser.storage.sync.get();
30-
gettingStoredSettings.then(checkStoredSettings, onError);
29+
const gettingStoredSettings = chrome.storage.sync.get(null, checkStoredSettings);
3130

3231
function reverseSearch(info, storedSettings) {
33-
3432
function getTabIndex(openTabAt, tabs) {
3533
if (openTabAt == 'right') {
3634
return tabs[0].index + 1;
@@ -62,19 +60,17 @@ function reverseSearch(info, storedSettings) {
6260

6361
function openImageSearch(tabs) {
6462
tabIndex = getTabIndex(openTabAt, tabs);
65-
browser.tabs.create({
63+
chrome.tabs.create({
6664
url: searchProvider.replace('%s', encodeURIComponent(imageURL)),
6765
active: !openInBackground,
6866
index: tabIndex
6967
});
7068
}
7169

72-
var querying = browser.tabs.query({currentWindow: true, active: true});
73-
querying.then(openImageSearch, onError);
70+
chrome.tabs.query({currentWindow: true, active: true}, openImageSearch);
7471
}
7572

7673
/* On click, fetch stored settings and reverse search. */
77-
browser.contextMenus.onClicked.addListener((info, tab) => {
78-
const gettingStoredSettings = browser.storage.sync.get();
79-
gettingStoredSettings.then(reverseSearch.bind(null, info), onError);
74+
chrome.contextMenus.onClicked.addListener((info, tab) => {
75+
chrome.storage.sync.get(null, reverseSearch.bind(null, info));
8076
});

manifest.json

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,7 @@
2121

2222
"options_ui": {
2323
"page": "options/options.html",
24-
"open_in_tab": true,
25-
"browser_style": false
26-
},
27-
28-
"applications": {
29-
"gecko": {
30-
"id": "{0da2e603-21ba-4422-8049-b6d9e013ed84}",
31-
"strict_min_version": "48.0"
32-
}
24+
"open_in_tab": true
3325
},
3426

3527
"permissions": [

options/options.js

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
/* Localization */
2-
document.title = browser.i18n.getMessage("extensionName") + " | " + browser.i18n.getMessage("optionsPageTitle");
3-
document.getElementById("navbarTitle").textContent = browser.i18n.getMessage("extensionName");
4-
document.getElementById("openTabAtLabel").textContent = browser.i18n.getMessage("openTabAtLabel");
5-
document.getElementById("right").textContent = browser.i18n.getMessage("openAtRight");
6-
document.getElementById("left").textContent = browser.i18n.getMessage("openAtLeft");
7-
document.getElementById("end").textContent = browser.i18n.getMessage("openAtEnd");
8-
document.getElementById("openInBackgroundLabel").textContent = browser.i18n.getMessage("openInBackground");
9-
document.getElementById("searchProviderLabel").textContent = browser.i18n.getMessage("searchProviderLabel");
10-
document.getElementById("otherCSE").textContent = browser.i18n.getMessage("other");
11-
document.getElementById("customSearchProviderLabel").textContent = browser.i18n.getMessage("customSearchProviderLabel");
12-
document.getElementById("customSearchProvider").placeholder = browser.i18n.getMessage("customSearchProviderPlaceholder");
13-
document.getElementById("cseError").textContent = browser.i18n.getMessage("cseError");
14-
document.getElementById("save-button").textContent = browser.i18n.getMessage("saveOptions");
15-
document.getElementById("status").textContent = browser.i18n.getMessage("saved");
2+
document.title = chrome.i18n.getMessage("extensionName") + " | " + chrome.i18n.getMessage("optionsPageTitle");
3+
document.getElementById("navbarTitle").textContent = chrome.i18n.getMessage("extensionName");
4+
document.getElementById("openTabAtLabel").textContent = chrome.i18n.getMessage("openTabAtLabel");
5+
document.getElementById("right").textContent = chrome.i18n.getMessage("openAtRight");
6+
document.getElementById("left").textContent = chrome.i18n.getMessage("openAtLeft");
7+
document.getElementById("end").textContent = chrome.i18n.getMessage("openAtEnd");
8+
document.getElementById("openInBackgroundLabel").textContent = chrome.i18n.getMessage("openInBackground");
9+
document.getElementById("searchProviderLabel").textContent = chrome.i18n.getMessage("searchProviderLabel");
10+
document.getElementById("otherCSE").textContent = chrome.i18n.getMessage("other");
11+
document.getElementById("customSearchProviderLabel").textContent = chrome.i18n.getMessage("customSearchProviderLabel");
12+
document.getElementById("customSearchProvider").placeholder = chrome.i18n.getMessage("customSearchProviderPlaceholder");
13+
document.getElementById("cseError").textContent = chrome.i18n.getMessage("cseError");
14+
document.getElementById("save-button").textContent = chrome.i18n.getMessage("saveOptions");
15+
document.getElementById("status").textContent = chrome.i18n.getMessage("saved");
1616

17-
/* Store the currently selected settings using browser.storage.sync. */
17+
/* Store the currently selected settings using chrome.storage.sync. */
1818
function storeSettings() {
1919

2020
function getOpenTabAt() {
@@ -64,7 +64,7 @@ function storeSettings() {
6464
const openInBackground = document.getElementById("openInBackground").checked;
6565
const openTabAt = getOpenTabAt();
6666

67-
browser.storage.sync.set({
67+
chrome.storage.sync.set({
6868
openInBackground,
6969
openTabAt,
7070
searchProvider,
@@ -110,8 +110,7 @@ function showOtherField(name) {
110110
}
111111

112112
/* On opening the options page, fetch stored settings and update the UI with them. */
113-
const gettingStoredSettings = browser.storage.sync.get();
114-
gettingStoredSettings.then(updateUI, onError);
113+
const gettingStoredSettings = chrome.storage.sync.get(null, updateUI);
115114

116115
/* On changing the searchProvider to "other", show the text field */
117116
const searchProviderSelect = document.querySelector("#searchProvider");

0 commit comments

Comments
 (0)