You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@senssoft.apache.org by rf...@apache.org on 2017/09/18 17:28:19 UTC
[14/21] incubator-senssoft-useralejs git commit: Initial commit for
content and background scripts, as well as message type constants
Initial commit for content and background scripts, as well as message type constants
Project: http://git-wip-us.apache.org/repos/asf/incubator-senssoft-useralejs/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-senssoft-useralejs/commit/ed63be82
Tree: http://git-wip-us.apache.org/repos/asf/incubator-senssoft-useralejs/tree/ed63be82
Diff: http://git-wip-us.apache.org/repos/asf/incubator-senssoft-useralejs/diff/ed63be82
Branch: refs/heads/SENSSOFT-192
Commit: ed63be82bd36408aaa76c7cf3b28368ee8ee5b6b
Parents: 5178927
Author: Rob Foley <ro...@gmail.com>
Authored: Wed Sep 13 14:18:17 2017 -0700
Committer: Rob Foley <ro...@gmail.com>
Committed: Wed Sep 13 14:18:17 2017 -0700
----------------------------------------------------------------------
src/UserALEWebExtension/background.js | 32 ++++++++++++++
src/UserALEWebExtension/content.js | 63 ++++++++++++++++++++++++++++
src/UserALEWebExtension/messageTypes.js | 3 ++
3 files changed, 98 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-useralejs/blob/ed63be82/src/UserALEWebExtension/background.js
----------------------------------------------------------------------
diff --git a/src/UserALEWebExtension/background.js b/src/UserALEWebExtension/background.js
new file mode 100644
index 0000000..a8e3ddd
--- /dev/null
+++ b/src/UserALEWebExtension/background.js
@@ -0,0 +1,32 @@
+/*
+ eslint-disable
+ */
+
+import * as globals from './globals';
+import * as MessageTypes from './messageTypes.js';
+
+// inherent dependency on globals.js, loaded by the webext
+
+// browser is defined in firefox, but not in chrome. In chrome, they use
+// the 'chrome' global instead. Let's map it to browser so we don't have
+// to have if-conditions all over the place.
+
+var browser = browser || chrome;
+
+function onError(error) {
+ console.log(error);
+}
+
+browser.runtime.onMessage.addListener(function (message) {
+ switch (message.type) {
+ case MessageTypes.CONFIG_CHANGE:
+ console.log('got config ', message.payload);
+ break;
+ default:
+ console.log('got unknown message type ', message);
+ }
+});
+
+/*
+ eslint-enable
+ */
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-useralejs/blob/ed63be82/src/UserALEWebExtension/content.js
----------------------------------------------------------------------
diff --git a/src/UserALEWebExtension/content.js b/src/UserALEWebExtension/content.js
new file mode 100644
index 0000000..3bf2fda
--- /dev/null
+++ b/src/UserALEWebExtension/content.js
@@ -0,0 +1,63 @@
+/*
+ eslint-disable
+ */
+
+import * as globals from './globals';
+import * as MessageTypes from './messageTypes.js';
+import { map, options, start } from '../main.js';
+
+// inherent dependency on globals.js, loaded by the webext
+
+// browser is defined in firefox, but not in chrome. In chrome, they use
+// the 'chrome' global instead. Let's map it to browser so we don't have
+// to have if-conditions all over the place.
+
+var browser = browser || chrome;
+
+// creates a Future for retrieval of the named keys
+// the value specified is the default value if one doesn't exist in the storage
+let store = browser.storage.local.get({
+ userAleHost: globals.userAleHost,
+ userAleScript: globals.userAleScript,
+ toolUser: globals.toolUser,
+ toolName: globals.toolName,
+ toolVersion: globals.toolVersion,
+}, storeCallback);
+
+function storeCallback(item) {
+ injectScript({
+ url: item.userAleHost,
+ userId: item.toolUser,
+ toolName: item.toolName,
+ toolVersion: item.toolVersion
+ });
+}
+
+function onError(error) {
+ console.log(error);
+}
+
+function injectScript(config) {
+ options(config);
+ start();
+ map(function(log) {
+ return Object.assign({}, log, {
+ pageUrl: document.location.href,
+ });
+ });
+}
+
+browser.runtime.onMessage.addListener(function (message) {
+ if (message.type === MessageTypes.CONFIG_CHANGE) {
+ options({
+ url: message.payload.userAleHost,
+ userId: message.payload.toolUser,
+ toolName: message.payload.toolName,
+ toolVersion: message.payload.toolVersion
+ });
+ }
+});
+
+/*
+ eslint-enable
+ */
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-useralejs/blob/ed63be82/src/UserALEWebExtension/messageTypes.js
----------------------------------------------------------------------
diff --git a/src/UserALEWebExtension/messageTypes.js b/src/UserALEWebExtension/messageTypes.js
new file mode 100644
index 0000000..907d072
--- /dev/null
+++ b/src/UserALEWebExtension/messageTypes.js
@@ -0,0 +1,3 @@
+var prefix = 'USERALE_';
+
+export var CONFIG_CHANGE = prefix + 'CONFIG_CHANGE';