privly / privly-safari Goto Github PK
View Code? Open in Web Editor NEWOfficial Safari Browser Extension
Home Page: https://priv.ly
License: MIT License
Official Safari Browser Extension
Home Page: https://priv.ly
License: MIT License
No one is currently working on this extension. If you want to experiment with it, you should open a discussion here or on IRC. #privly of irc.freenode.net
The Safari extension has not been updated for a while and numerous changes have been made to the core content script.
We need an easy way to activate and deactivate the extension without accessing the Safari extension settings. The simplest way to implement this functionality is to control when the content script is injected (privly.js), but we could also send messages to the content script after it is loaded.
This readme needs more details to describe the current state of the repo and give more context of the project in general.
I am increasing test coverage and my latest build fails on Safari. I believe it has something to do with Safari refusing to absolute position the element without setting the position style to absolute, but after experimenting with this possibility for an hour, I need to give up.
The content script will attempt to inject the privly-app when the CSP won't allow the iframe to load. We need to make the content scripts aware of when they should not inject the app on Safari.
gmail for safari uses a special element for forms that is not a textarea. This will require more work and probably coincides with solutions to things like WYSIWYG editors.
The selenium tests found in privly-applications test all the core functionality of the system and will quickly tell you if there is an issue integrating privly-applications with privly-safari. These tests should be supported by the Safari browser's extension context and/or by the Safari web (hosted) context.
Steps:
ruby run_all.rb --platform safari_web --release-status experimental --content-server http://localhost:3000
For the tests to pass you will need a local content server running on port 3000. You do not need the tests to pass to see that you have configured testing correctly.I recommend getting this working for safari_web before attempting to test safari_extension.
Completing these steps for TravisCI and SauceLabs will likely be more complicated since it would require somehow installing the safari extension on SauceLabs. This works for the Firefox extension by adding it to the browser's profile from Travis, and it works for the Chrome extension by base64 encoding the extension and streaming it to SauceLabs. One of these approaches will likely work for Safari as well, but the first step is to get these tests running locally without SauceLabs and TravisCI.
Let's package the extension and see if there is a way to preview it from Apple's servers before publishing to the world.
Presently, we can stop the extension by clicking on Stop Injecting
. However, to denote the running state of the extension, there is no on/off visual.
In Safari extensions, we cannot have a modal button so the best thing to do in my opinion, is to have 2 different images, one with the on and one with the off text. Once the Stop Injecting
is pressed, the image with the off text will be shown as the image of the toolbar item. On clicking Start Injecting
, the image of the toolbar will be change again.
@smcgregor What do you think about this approach?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.