I'm developing a Chrome extension and I plan to make use of WebAssembly in it.
Is there a natural way to distribute a Chrome extension with a WebAssembly?
Related
So in the Chrome version of Firebug, it's lying on top of the window, thus, if the whole window has text, you will have stuff hidden behind the firebug. Is it possible to get it to be like Firefox's version, where it is part of the window screen like the developer console? The options don't seem to point to anything that indicates this option.
The Chrome extension of Firebug is based on Firebug Lite, which is a JavaScript that is injected into the website. So, there is unfortunately no way to integrate it into Chrome's UI.
Furthermore, Firebug Lite (and with that the Chrome extension) is unmaintained for several years now, so it doesn't provide the features integrated developer tools have.
Alternatives are:
Chrome DevTools
Chrome has integrated developer tools, which provide a huge amount of features for web developers.
Firefox DevTools
The Firefox developer tools allow to debug Chrome (and other browsers) remotely. This doesn't work as good as the integrated tools and provides less features, but allows you to use the same tools to debug in different browsers.
debugger.html
The debugger.html project (developed by the Firefox DevTools team) picks up the idea of Firebug Lite by providing a browser independent UI. It's based on a local web server serving a website, which allows you to debug JavaScript code in different browsers by connecting to them remotely. Unfortunately, it currently only provides a JavaScript debugger and it's unclear whether it will be extended to cover other features like an HTML inspector panel, a network panel, etc. later.
i wanted to build a custom browser install that would fit the following specs, i found ways to do it using enterprise deployement, but my intent is to distribute it to friends and family without having to go through the enterprise distribution.
Can be sourced from Firefox or Chromium (or even other as webkit)
Should be easy to customize (ideally no C++ coding)
Should be able to embed extension or hard code the extension within the browser. (i've coded a custom adblock that is lighter and faster than the ones on FF or Chrome store and would also like to embed TOR connection extension)
Remove the ability to install other extensions (i want to ensure this browser cannot be victim of bloatware extensions installs)
Customize UI
Protect the browser against Search engine / HP / New tab settings change.
If you could point me to the right direction it would be awesome and i'll make sure to share this browser's link here once done.
I just saw this in the corner of my eye and figured I'd share this question/answer to possibly help you:
Standard way to build a Chrome extension into Chromium
The goal is to start casting a content (video or other), from chrome mobile. Just like it is possible on standard Chrome for youtube or netflix videos, through the dedicated extension. I'm not talking about displaying the content of the mobile tab on the TV but just launching a cloud or LAN video on the big screen.
I know extensions are not available on chrome mobile (yet) but I was just wondering if there were any plans on making that possible in Chrome Mobile (with or without extensions).
It would be cool to be able to write a webapp that could launch videos on the big screen. The same webapp could be used on a smartphone, on a tablet or a on desktop computer.
Update:
I was thinking it could be easy to write a simple standalone js library for Google Cast device discovery. This could also be used to control the playback of cloud/LAN files within a webapp.
By looking at the chrome extension code, it looks like the discovery of Google Cast devices is done through the chrome.dial.* API. This API is not public yet. The extension asks for the following permissions:
"permissions": [
"tabs",
"tabCapture",
"dial",
"storage",
"networkingPrivate",
"https://*/*",
"http://*/*"
],
At this point, there is probably no hope of writing a standalone js library that would do the device discovery through chrome.dial.* as its access is restricted to extensions having asked for the specific permission.
Conclusion: To leverage the chrome.dial.* API, an extension is needed. And there are no public plans for extensions in Chrome Mobile.
Interesting links:
http://www.dial-multiscreen.org/dial-protocol-specification
http://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol
It is a little unclear what you're asking, but it seems like you're asking if there is any hope of getting a native extension on the mobile version of Chrome.
From https://developers.google.com/chrome/mobile/docs/faq
Does Chrome for Android support apps and extensions?Chrome apps and extensions are currently not supported on Chrome for Android. We have no plans to announce at this time.
I wouldn't plan on having extensions anytime soon. You could always write a native application to the operating system and broadcast from there.
I would like to add the possibility to a simple Chrome web app, to use the Chrome Omnibox. The app should just be an icon on the start-page of chrome and add Omnibox functionality.
Adding the attribute "omnibox": { "keyword" : "x" } to my manifest.json brings up the message
Feature 'omnibox' is not accessible. Not allowed for specified package type (theme, app, etc.).
Is it possible to enable this functionality or can I develop an extension which behaves exactly like an Chrome web app, so I could use the omnibox inside that extension?
Thanks for your advise.
If you're making a Hosted App, you are very limited in what you can access. I believe a Hosted App can only perform actions that a normal HTML5 web page could (with a few narrow exceptions, like long-running background pages). If you want to include omnibox functionality, you'll have to make it a Packaged App -- but it could be a Packaged App that opens your web page like your current app and includes omnibox support, since the functionality of Packaged Apps is a superset of Hosted Apps functionality.
What is the difference between Chrome Apps and Extensions?
What can you do with apps that you can't do with extensions or vice versa?
Quoting from https://developer.chrome.com/webstore/apps_vs_extensions:
We’ve already had the concept of “web apps” in the browser for a few years, as something more rich and interactive than a website, but less cumbersome and monolithic than a desktop application. Examples include games, photo editors, and video players; all of these categories are viable as tightly focused apps running inside the browser. Google Chrome is just formalizing the web app concept in a way that will be familiar to anyone who’s used apps on a smartphone.
Extensions ... extend the functionality of Google Chrome and the websites being viewed in it. For example, they can extend Google Chrome by adding a new button to the address bar, such as an ever-present currency converter. Buttons like this can also apply to the current website being viewed—for example, click the currency converter button to convert all prices on the website you’re viewing. Similarly, you can introduce new items to the context menu, change the behavior of the omnibox (the input field on the address bar), access the user’s browsing history (with consent), and much more. You can alter web pages too—for example, embed a “mail this” button next to every link in every page, or customize the layout of your favorite website.
Compared to apps, extensions cut across websites and web apps; they are usually in effect across all websites (though some are site-specific). Apps don’t combine with other apps in this way; they run standalone, like any regular website.
(emphasis added)
From what I can tell, Chrome apps are just web applications that are registered with Chrome's Web Store (Gmail, e.g.). They're basically just glorified bookmarks. Google seems to have introduced them in order to make their browser more "operating system"-like, in preparation for tablets running Chrome OS. Since Chrome OS won't have any native applications apart from Chrome, they need some way for you to be able to "install" applications... even if those applications are just websites.
Extensions can actually affect the way that the browser behaves (ad blocking, e.g.). They can add buttons to Chrome's toolbars, intercept web requests, change the DOM, etc.
Here is an excellent resource from the Google Chrome team explaining the differences in detail.
It also contains a decision tree flow chart shown below.
Please refer to the following link:
(chrome app vs extension).
It basically says that there are two kinds of apps: hosted and packaged. Hosted apps are glorified bookmarks. But packaged apps provide you with a somewhat best of both worlds features- of both extensions and apps.
Extensions of course extend the core browser functionality providing little or no additional UI apart from what is already provided by chrome.
There are three Chrome distribution channels for developers.
In order of increasing functionality they are:
Chrome extensions — little to no UI
Chrome hosted apps
Chrome packaged apps
More information and fuller discussion is contained in this video.
quoting from http://www.chromeplugins.org/extensions/chrome-web-apps-extensions-spot-the-difference/
(as the explanation is very good)
Major Differences Between Chrome Extension and Chrome Web Apps
One of the major differences between Chrome extensions and web
applications is their location. Majority of the Chrome extensions can
be downloaded from Chrome Extensions Gallery whereas Chrome Web Apps
can be installed from Chrome Web Store.
Another major difference between Chrome extensions and web apps is the
fact that while extensions are used to enhance the functionality of
the Chrome Browser, web apps run within the browser having a different
user interface. Unlike web applications, extensions have little or
sometimes no UI component.
From a technical perspective the major difference between Chrome Apps
and extensions is the presence of “launch” parameter in apps which
indicates Chrome to show when user starts an application installed by
him/her.