I work on a chrome extension that injects content scripts into all frames on all webpages. I'd like to extend this functionality by adding "match_about_blank": true to the content script permissions in the manifest file. In the chrome extension docs, it says that updating an extension with additional permissions may temporarily disable it. My question is, will adding the match_about_blank attribute to a content script trigger this permission warning?
To close the loop here- the comment by wOxxOm above is indeed correct. I posed this question on the chromium forum and received a full detailed response from a chromium dev here: https://groups.google.com/a/chromium.org/forum/#!topic/chromium-extensions/AnWzbP76ZZs
For anybody else who arrives here wondering if a permission change will cause their extension to be disabled when they push an update, if you follow the instructions here https://developer.chrome.com/extensions/permission_warnings#update_permissions you can actually test this locally (pack and install current build of extension, then make changes and pack and install the extension again using the same private key).
Related
I'm using DDEV with Visual Studio Code and I tried to configure Live Server Extension to automatically auto reload page that I'm working on in Chrome when I hit save in VSC, but it doesn't seem to work with PHP.
Is there a way to configure this to work with DDEV?
I can't seam to find any info on this issue.
Thanks
I've managed to do it another way, with guard and guard-liveguard on linux.
The workflow was:
guard installation
guard-livereload installation
Installation was not quite straightforward, but you can follow the instructions in Terminal and install what's missing if it tells you so.
Guard placed Guardfile inside of /home/user directory so I edited it to contain only this, regarding livereload pard:
guard 'livereload' do
watch(%r{.+\.(css|scss|html|php|js)$})
end
Then I installed Liveguard Google Chrome Browser Extension from here:
http://livereload.com/extensions/
Under settings I had to enable "Allow access to file URLs".
Also, you have to press liveguard extension icon in Chrome in order for it to track changes.
That's about it, now when I edit any of the file types entered in Guardfile (you can edit and add what you need, of course) it automatically reloads my Chrome window whit the edited page opened.
Looks like starting from the Google Chrome 63 loading self-signed crx file fails with a message: "This extension may have been corrupted".
From the browser logs I see that Chrome is trying to check the verified contents from the store, and, of course, failing.
content_hash_fetcher.cc(252)] Missing verified contents for cfbklnofppkbgcfhppceodfodekoecoa, fetching...
job failed for cfbklnofppkbgcfhppceodfodekoecoa reason:1
VerifyFailed cfbklnofppkbgcfhppceodfodekoecoa reason:1
That's happening for all extensions I can check.
Self-signed crx were disabled on reloading Chrome for a while now, but that was mostly OK for basic testing. Now it seems to be not possible at all.
Is there a way to install extensions for testing on Chrome 63?
Installing unpacked extensions works (for now), but that's not the same as installing crx. We had some issues which were not happening with unpacked extensions, mostly with init and storages.
UPD: the issue is tracked here https://bugs.chromium.org/p/chromium/issues/detail?id=794219
Not sure exactly why this is happening, but the "fix" for us was to put a dummy update_url key in the manifest.json for the extension:
"update_url": "https://www.google.com"
Any old URL will do.
Warning: You will need to remove this before deploying to the Chrome Web Store as it might break your users' upgrade process.
Chrome bug this is the chrome bug tracking this issue. Please star it so that it gets some attention https://bugs.chromium.org/p/chromium/issues/detail?id=794219
Also not sure if this will continue to work in the future.
Currently when i enter the Update URL and that is triggered by the Setup.exe application, the user has no choice but to download the update. There is no prompt to the user as IF they would like to perform the update first or not, they are simply forced to download the update when one is found. My exe is 430MB so i don't want them to be forced to download that if they don't want to. Is there a way to intercept the check and ONLY download/update the exe if the user answers YES to a prompt? I see in the /debuglog file that the URL is checked than immediately starts the download and displays the 'ISDownloadProgress' dialog. But also shows that the 'InstallationWelcome' dialog is shown as well even though it is not. It must be hidden somehow i guess.
The Update URL setting is best suited for a downloading setup launcher which is itself quite small. Since downloading setup launchers can be invalidated if the resources they fetch are moved or removed, it doesn't let the user choose whether to get the updated launcher.
Since this behavior is not currently optional, you could file an enhancement request with the support team, or you could write a wrapper that performs a similar check.
My adblock extension was acting buggy, so I uninstalled it. When I went to reinstall it, it got stuck on "Checking". And it never moves past it. Whenever I try to restart the download, it says that I already have it downloading.
I've tried resetting things, I've restarted my browser, signed off of my google account. Everything I can think of and that I've seen suggested.
If anyone reads this, try turning off "Use Hardware Acceleration" in your chrome settings. Use search to find it on settings menu. Fixed the issue on my VM.
There is a discussion in the adblock forum about this issue. I don't know if you have already seen this, but I think it is worth looking at; as there are several suggestions on how to resolve this.
Try the development version.
Change the download location specified in chrome.
Check if you are logged with your users in store.
Hope this helps.
Steps to resolve:
Completely stop Chrome (you'll need to exit Chrome in your task bar even after closing the Chrome window).
Rename your Extension State directory to Extension State.bak.
Restart Chrome.
Below is the path of the Extension State directory on Windows:
C:\Users\<user_name>\AppData\Local\Google\Chrome\User Data\Default\Extension State
See Where does Chrome store extensions? for the Extension State path on other operating systems.
I want to bundle an extension with my executable, and I want it to automatically add it to the users browser if they have chrome or firefox. Is there a directory where I can drop the .crx file containing the extension for chrome, and chrome will automatically use it? And what should I do for firefox?
If you want to simplify things you can use Crossrider and get an installer which will install your extension on IE, Firefox and Chrome.
This installer can also run in silent mode, so you run it from your executable without interrupting the normal flow.
To do all that, you will first have to open a new user and copy your extension code to Crossrider (which is probably a good idea anyway since then you will have one code for your app which will support all browsers).
For Chrome:
You can put it in the registry or drop it in the external-extensions.json file (%localappdata%/Google/Chrome/Application/chrome_xx.xxx.xxx.xxx/Extensions/).
I never did it myself actually but it's all documented on the official channel:
http://code.google.com/chrome/extensions/external_extensions.html
There's also a way to install it via Group-Policy, but none of all these three methods is cross-platform AFAIK.
For Firefox:
I have no idea.
My recommendation would be:
DO go through the browser itself,
DO NOT try to sneak around and force it onto the user
Reasons for this are:
the browser is meant to ask for the user's permission, clearly and explicitly.
that's the only cross-platform way I know (and it already requires forking out, so that's not even that totally cross-platform).
I'd simply recommend forking out a browser and passing as argument the extension's file or download URL, so that it will automatically request the user's permission and start the installation process.
For instance, just calling this (on linux, if google-chrome is on your PATH):
google-chrome PATH_TO_FOLDER_OR_URL_PREFIX/myextension.xpi
Or:
google-chrome PATH_TO_FOLDER_OR_URL_PREFIX/myextension.crx
Or for Firefox:
firefox PATH_TO_FOLDER_OR_URL_PREFIX/myextension.xpi