mirror of
https://github.com/mozilla/send.git
synced 2026-04-18 03:00:05 -04:00
Switch to serving the ui from s3 to work around the inability to target a webextension at a resource:// url
This commit is contained in:
@@ -84,7 +84,7 @@ function body(main) {
|
||||
});
|
||||
app.use(metrics);
|
||||
app.route('/', body(home));
|
||||
app.route('/assets/android.html', body(home));
|
||||
app.route('/android.html', body(home));
|
||||
app.route('/upload', upload);
|
||||
app.route('/share/:id', share);
|
||||
app.route('/preferences', preferences);
|
||||
|
||||
@@ -10,4 +10,4 @@ npm run build
|
||||
rm -rf src/main/assets
|
||||
mkdir -p src/main/assets
|
||||
cp -R ../../dist/* src/main/assets
|
||||
cp -R ../../borderify src/main/assets
|
||||
cp -R ../send-android-comms-bridge src/main/assets
|
||||
@@ -17,6 +17,7 @@ import mozilla.components.browser.session.Session
|
||||
import mozilla.components.concept.engine.DefaultSettings
|
||||
import mozilla.components.browser.engine.gecko.GeckoEngine
|
||||
import mozilla.components.concept.engine.EngineView
|
||||
import org.json.JSONObject
|
||||
import org.mozilla.geckoview.*
|
||||
|
||||
|
||||
@@ -63,7 +64,7 @@ class MainActivity : AppCompatActivity() {
|
||||
settings.userAgentString = "Send Android"
|
||||
mGeckoEngine = GeckoEngine(applicationContext, settings, mGeckoRuntime!!)
|
||||
mSessionManager =
|
||||
SessionManager(mGeckoEngine!!, defaultSession = { Session("resource://android/assets/android.html") })
|
||||
SessionManager(mGeckoEngine!!, defaultSession = { Session("http://fzzzy-send-gv.s3-website-us-west-2.amazonaws.com/android.html") })
|
||||
val sessionUseCases = SessionUseCases(mSessionManager!!)
|
||||
val sessionId = "sendandroid"
|
||||
mEngineView = mGeckoEngine!!.createView(applicationContext)
|
||||
@@ -82,6 +83,7 @@ class MainActivity : AppCompatActivity() {
|
||||
|
||||
override fun onConnect(source: WebExtension, port: WebExtension.Port, session: GeckoSession?) {
|
||||
Log.e("DEBUG", "onConnect")
|
||||
port.postMessage(JSONObject("{\"message\": \"helloworld\"}"))
|
||||
}
|
||||
|
||||
override fun onMessage(source: WebExtension, message: Any, session: GeckoSession?): GeckoResult<Any>? {
|
||||
@@ -89,11 +91,11 @@ class MainActivity : AppCompatActivity() {
|
||||
return GeckoResult.fromValue("MessageResponse")
|
||||
}
|
||||
}
|
||||
mGeckoRuntime!!.registerWebExtension(WebExtension("resource://android/assets/borderify/", "sendandroid-borderify", messageDelegate)).then({
|
||||
mGeckoRuntime!!.registerWebExtension(WebExtension("resource://android/assets/send-android-comms-bridge/", "send-android-comms-bridge", messageDelegate)).then({
|
||||
Log.e("DEBUG", "REGISTERCOMPLETE")
|
||||
GeckoResult.fromValue(Unit)
|
||||
})
|
||||
val initialSession = Session("resource://android/assets/android.html")
|
||||
val initialSession = Session("http://fzzzy-send-gv.s3-website-us-west-2.amazonaws.com/android.html")
|
||||
mSessionManager!!.add(initialSession, selected = true)
|
||||
mEngineView!!.render(mSessionManager!!.getOrCreateEngineSession())
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"manifest_version": 2,
|
||||
"name": "SendAndroidCommsBridge",
|
||||
"name": "send-android-comms-bridge",
|
||||
"version": "1.0",
|
||||
|
||||
"description": "Communicates between send android kotlin code and js content code.",
|
||||
|
||||
"content_scripts": [
|
||||
{
|
||||
"matches": ["resource://*/*"],
|
||||
"js": ["borderify.js"]
|
||||
"matches": ["http://fzzzy-send-gv.s3-website-us-west-2.amazonaws.com/*"],
|
||||
"js": ["send-android-comms-bridge.js"]
|
||||
}
|
||||
],
|
||||
"permissions": [
|
||||
@@ -1,9 +1,15 @@
|
||||
/* global document, browser */
|
||||
|
||||
let first = true;
|
||||
|
||||
document.body.style.border = '5px solid red';
|
||||
console.error('helloooooo');
|
||||
const port = browser.runtime.connectBrowser();
|
||||
port.onMessage.addListener(response => {
|
||||
if (first) {
|
||||
port.postMessage('we got the first message');
|
||||
first = false;
|
||||
}
|
||||
console.error(`Received: ${JSON.stringify(response)}`);
|
||||
});
|
||||
port.postMessage('Hello from WebExtension!');
|
||||
@@ -26,7 +26,6 @@ class AndroidIndexPlugin {
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1"
|
||||
/>
|
||||
<base href="resource://android/assets/" />
|
||||
<link href="${files['app.css']}" rel="stylesheet" />
|
||||
<script src="${files['android.js']}"></script>
|
||||
</head>
|
||||
|
||||
@@ -20,11 +20,11 @@ module.exports = function(app, devServer) {
|
||||
function android(req, res) {
|
||||
const index = devServer.middleware.fileSystem
|
||||
.readFileSync(devServer.middleware.getFilenameFromUrl('/android.html'))
|
||||
.toString()
|
||||
.replace(
|
||||
'<base href="resource://android/assets/" />',
|
||||
'<base href="http://localhost:8080/" />'
|
||||
);
|
||||
.toString();
|
||||
//.replace(
|
||||
// '<base href="resource://android/assets/" />',
|
||||
// '<base href="http://localhost:8080/" />'
|
||||
//);
|
||||
res.set('Content-Type', 'text/html');
|
||||
res.send(index);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user