Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: ext/popup.js

Issue 29532767: Issue 5593 - Use messaging in popup for prefs, whitelisting, and stats (Closed) Base URL: https://hg.adblockplus.org/adblockpluschrome/
Patch Set: Use chrome APIs instead of ext.pages Created Sept. 1, 2017, 6:40 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | lib/filterComposer.js » ('j') | popup.js » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ext/popup.js
===================================================================
--- a/ext/popup.js
+++ b/ext/popup.js
@@ -2,29 +2,55 @@
(function()
{
if (typeof chrome == "undefined" || typeof chrome.extension == "undefined")
window.chrome = browser;
const backgroundPage = chrome.extension.getBackgroundPage();
window.ext = Object.create(backgroundPage.ext);
- window.ext.closePopup = () =>
- {
- window.close();
- };
-
// Calling i18n.getMessage from the background page causes Edge to throw an
// exception.
// https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12793975/
window.ext.i18n = chrome.i18n;
// We have to override ext.backgroundPage, because in order
// to send messages the local "chrome" namespace must be used.
window.ext.backgroundPage = {
sendMessage: chrome.runtime.sendMessage,
getWindow()
{
return backgroundPage;
}
};
+
+ window.ext.closePopup = () =>
+ {
+ window.close();
+ };
Sebastian Noack 2017/09/13 02:49:39 While moving this function around anyway, how abou
Manish Jethani 2017/09/18 02:25:50 OK, this should happen naturally now after changes
+
+ window.ext.prefs = {
+ get(key, callback)
+ {
+ chrome.runtime.sendMessage({type: "prefs.get", key}, callback);
+ },
+ toggle(key, callback)
+ {
+ chrome.runtime.sendMessage({type: "prefs.toggle", key}, callback);
+ }
+ };
Sebastian Noack 2017/09/13 02:49:39 IMO, this doesn't belong into ext. Prefs are part
Manish Jethani 2017/09/18 02:25:50 I've moved it into popup.js now.
+
+ window.ext.createPageObject = tab =>
+ {
+ if (!tab)
+ return null;
+
+ // Create a lightweight page object that resembles ext.Page, but with only
+ // an id and an optional url property.
+ let page = {id: tab.id};
+
+ if (tab.url)
+ page.url = new URL(tab.url);
+
+ return page;
+ };
}());
« no previous file with comments | « no previous file | lib/filterComposer.js » ('j') | popup.js » ('J')

Powered by Google App Engine
This is Rietveld