Chrome extension to launch on file open - google-chrome

I'm about to start a Chrome packaged app project which will include a NaCl component to parse CHM files. But before I start, I just want to check if it's possible to get the app to automatically launch when a CHM is opened (when the users clicks on a link to an chm file, or possibly if a chm file is dragged into a Chrome window).
I've come across some Google documentation here which describes associating NaCl modules with MIME types in the extension manifest, but A: I'm not sure if this is relevant to my problem and B: I've tried doing as it describes, but nothing seems to change.
If anyone can point me in the right direction, I'd appreciate it!

I was able to hack around with chrome.webRequest to filter URLs with .chm extensions, but of course that only works when a user clicks on a direct link to a CHM file, and there is no way I know of to access local files outside the sandbox (for good reason no doubt).
I have since decided to make the project a Drive app with the C++ portion squirreled away inside a DLL on an ASP.net server, which makes a lot more sense to me.

Related

Chrome extension - using the filesystem API

The filesystem API cannot be used by unpacked extensions, which is awfully great for development.
But then the real surprise came when I realized I can't use it also with my extension packed, because Chrome tells me it cannot find it in the store and is thus greyed out.
Is there any way to actually develop with the filesystem API then?
My goal, in case this is the wrong direction in the first place, is to write some text to a file when some events in the browser happen. The file should be rewritten, rather than creating a new file, which is why I can't use the downloads API.
Is there any way out of this conundrum?
For anyone stumbling on the same issue - a decent solution is to use the chrome.downloads API to download the file in overwrite and incognito mode.
Overwrite will stop the automatic indices added to downloaded file names, and incognito makes the download invisible in the browser except for incognito windows.
The main shortcoming is that it is of course constrained to the user's downloads folder.

Is it possible to backup all the files under chrome/developer tools/sources?

I loaded a site and checking developer tools I can see a lot of folders and files under the Sources section, aunder a folder called top.
Is there a way or extension to help me copy all those folders and files to my hard drive?
Even if it's a third party tool would help, at the moment I cannot think on anything else other than manually copying everything, which would take quite a while!
Thank you.
There's nothing built into DevTools, but you may be able to run a snippet that downloads all the page's resources. I'm not sure what that code would look like. The basic idea would be to open the page, and then run the snippet on the page, with the code somehow iterating through and downloading every requested resource.
Could also be worth looking into Chrome Extensions that handle this. They have access to the Chrome Debugging Protocol which may give them deeper access to the page's resources.
I know this is an old question but this is currently possible by going into the Network tab and right clicking any request and clicking "Download All as HAR"

How to prevent Google Chrome from blocking my installer package

I've prepared and published on my website an installer package with the software I developed. The package is compiled and bundled into .exe file using WiX toolset and contains no viruses or malware. Next when I try to download the file I get a notification from Chrome that it's blocked due to malicious content.
Malicious content warning
I'm really upset that my customers being misinformed with such warning. Any ideas how to get around it?
Google created this page for developers - https://support.google.com/webmasters/answer/3258249.
Even though it doesn't say it on there, almost all auto-detection software will not block software that is digitally signed (and there is no bad reputation associated with the signing certificate).
If it's a simple file, just upload it to Google Drive or DropBox, and generate a public link for it and then share it on your website.
You can also shorten that link, if your application provide this service, or via goo.gl, in order to view clicks' count.
If any developer come across this issue, I manage to resolve it by streaming the downloadable file instead, via different URL (which doesn't have the file name and its extension with file's full path on your hosting).
Doing so by manipulating the response header, will fix the issue.
Here is a useful link about streaming a downloadable via php script

How would I go about developing a file handler for Chrome and/or Chromium?

I would like to develop a browser plugin/extension (I'm not sure how they differ) for a particular (possibly new) file type. To be very explicit, I would like to visit a file, "foo.org", using my browser in something like Drop Box or Google Drive and have the browser treat the file as Emacs would treat an org-mode file. Eventually I would like to develop a full Emacs plugin/extension and be able to configure the browser to handle files with this plugin/extension based on the file extension or a file grokking heuristic.
Any solution that I develop will allow the editing to take place directly in the browser's tab area, i.e. a seamless solution (as opposed the useful but seamy Edit with Emacs solution referenced below). In the same way that Chrome recognizes a spreadsheet or word document and invokes the appropriate Google Docs tool, I would like to get an Emacs-lite editor handle the foo.org file. Another way to ask the question is: how do Google Docs tools get invoked within Chrome and perform the associated editing task. And are these tools open source?
You should consider building on Ymacs which is an Emacs-like editor in the browser.
For browser extensions, there is an experimental downloads api. However, it doesn't let you monitor downloads at the moment. This is planned for the future:
In the future, you will also be able to monitor and manipulate downloads.
However, you can probably just use some JavaScript and replace all links to *.org files with links that open in a tab running Ymacs. This should have the same effect--clicking a *.org link will open it in a new tab.
Take a look at content scripts and the tab api for documentation on how to inject a script into every page and how to open new tabs.
Take a look at Edit with Emacs , it should help you get (at least) part of the way there.

How to make Google Chrome recognize this extension as a new extension

I had a chrome extension built for me and it helps me publish to my wordpress with ease. The problem is that I have a few websites that I would like to use the same extension for which involves nothing more than changing the URL in the extension's settings.
The real question
Assuming I made 3 copies of the same extension, what changes must be implemented in each one to make Google Chrome recognize it as a different extension? Right now, if I change certain attributes in the manifest, Chrome will still recognize it as the original extension and will want to replace the extension I already have installed.
I hope this makes sense. Apparently someone didn't understand what I was talking about so I broke it down. Hope someone can help me out.
I'm only guessing, but I would think that it would be the name field found in the manifest.json file. In theory, if you are managing your own .crx file (for packaged extensions), I guess Chrome could use the name of that file as well. And finally, if you are signing your extension and making it available through the market, the cryptographic signature could be used as well (the .pem being created when you package your extension).
So no real answer, but I believe it must be one of these three (name in manifest, name of crx file or cryptographic signature). If you test it and figure out, be sure to share!