Toolbar in Chrome app mode - google-chrome

Trying to employ kiosk based on Chrome browser. Just Installed Kiosk app extension, everything is fine, but in Chrome's application mode there are no toolbar. I basically need "Back", "Forward", "Home" buttons. Is there any way to enable toolbar in app mode, or add it when extension creates window?

Navigation is not meaningful for Chrome Apps. It is, in fact, disabled.
So if your app changes state, you need custom controls for that state anyway.
If you have embedded web content in the app in a <webview>, then you need to make your own custom controls for that. See the browser app sample.

Related

Progressive Web App in Chrome Custom Tab

I am building a Progressive Web App. When I open it in the Chrome browser, I correctly see the "add to home screen" option come up in a bottom sheet. However, when I open my app in a Chrome Custom tab, the "add to home screen" bottom sheet is not appearing.
Does anyone know if Chrome Custom tabs supports the Progressive Web Apps manifest?
Update: I've filed a bug against Chromium for this issue https://bugs.chromium.org/p/chromium/issues/detail?id=731171#c2
Chrome Custom Tabs has the ability to show an "Add to Homescreen" menu item, at least in recent builds of Chrome.
I can confirm that manually selecting the "Add to Homescreen" menu item will make use of the web app manifest data when creating the homescreen item.
However, I don't believe that the logic for automatically triggering the Web App Install Banner is enabled for page views with Chrome Custom Tab at this time—I experimented a bit and never got the banner to appear, at least.

How to start Chrome Hosted App in window?

So I know that 'Chrome Packaged App' will run in a window, I have tried to run the website I want in a <webiview> tag but it gets stuck at the beginning and I can't find a way to debug what's happenning inside that <webview> tag.
I now have tried to change the manifest to work as a 'Chrome Hosted App' but it keeps opening in a tab.
How do I start my app in a window, either by having it as a chrome hosted app?
Or by <webview> (if I find a way to debug it)?
As pointed here, a Chrome Hosted app can be open in a specific window if you enable this flag:
Enables the web app style frame for hosted apps
in chrome://flags.
Chrome's built-in developer tools can be used to debug packaged apps, extensions and webview as well as web pages (Right-click on any page element in webview and select Inspect Element).

Hide Web App's URL Completely in Chrome

Is it possible to create a Chrome shortcut that will launch a web app in such a way that users will not be able to view or access the URL of the web app via Chrome, e.g., via the address bar, status bar, developer tools, etc. If not, would it be possible if I packaged the web app as a Chrome app? I should note that I am not concerned about the shortcut itself containing the URL, e.g., in its "Properties", because I already have an executable will which launch the shortcut. All I care about is the user not being able to view the app from within Chrome itself once the app has been launched, at least not easily.
I have tried adding Chrome flags/switches, namely, kiosk mode, fullscreen mode, and app mode, but none of them work 100% as needed. Kiosk and fullscreen modes will launch as such only if no other instances of Chrome are open; if another instance of Chrome is already open, both modes will launch in a regular view mode in which users can see the URL in the address bar. App mode (I added "--app=http://www.example.com" to the end of the "Target" property of the shortcut) is promising because it launches with no browser chrome, but I notice that if I refresh the page while in app mode, I can see the URL both in the top window bar and the bottom-left status bar. Also, app mode doesn't prevent the user from opening Developer Tools, which makes viewing the URL trivial.
Any ideas welcome!

Using chrome to convert window.open to Chrome always on top panel

I have a web app that is using javascript window.open command, my wish is to make these popups always on top.
Looking on the internet I saw recommendation to add body.onBlur='self.focus'.
This is not good for me because other windows cannot be accessed in this kind of approach.
What I thought is to write an extension that on pop-out will convert the window.open-opened pages to a chrome dialog.
The big question: This is even possible?
In the chrome dialog that I have tested the panels are always on to only if they are positioned in the top right of the window but if I am moving them to a different location the always on to function doesn't work
https://chrome.google.com/webstore/detail/site-on-panel/pcjbpfaogjhnnnhdldamflaelejhbhag?utm_source=chrome-app-launcher-info-dialog
https://chrome.google.com/webstore/detail/picture-in-picture-viewer/efaagmolahogmekmnmkigonhfcdiemnl?utm_source=chrome-app-launcher-info-dialog
If you control the web app, you can replace window.open with a Chrome App. You can send a message from the web app to the chrome app, which can then use the always on top app window option and display it in a webview.

Open Chrome app within Chrome's main window

I'm fairly new to Chrome app development and was wondering if it's possible to run an app within Chrome's main window, like the TweetDeck app.
Thanks!
No. Chrome Apps' current goal is to provide a native-like app experience outside the Chrome browser. Today, with the exception of certain privileged APIs, putting an app in Chrome would be... well, it would be a website.
If you want an app in one of Chrome's tabs, why not just build a website? What does the open web lack for your project?
Note that we have been thinking about what it would mean for an app to be a component inside a webpage. You could imagine a Facebook Like button or a Google+ +1 button implemented as an app in a webpage in the same way that those buttons today are usually implemented as iframes. There are some interesting security properties that this approach would bring over iframes. But again, this doesn't seem to be what you had in mind. What you had in mind appears to be a regular website.