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

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.

Related

How does the 1Password Chrome Extension achieve rounded corners?

There are many (1 2 3) answers on Stackoverflow saying a Chrome extension cannot have rounded corners when opened, and yet... The 1Password extension does.
I've noticed the extension is draggable unlike other extensions, and I've noticed I can't right click and inspect it. I've also noticed that if I drag it very quickly, a 'ghost' extension flickers in the middle of my screen.
Any ideas whats going on?
What you're seeing is not part of the Chrome extension, but the 1Password application itself. The extension merely acts as a middleman between Chrome and the real password manager app on your computer. In fact, the 1Password extension requires the 1Password app to be installed on your computer in order to work. When you click on the icon, that's not a popup window, but a native window created by the 1Password app itself. This is done through native messaging.

Chrome webview application to load extension

Is it possible to have a webview application for a web page and load extensions in the application?
I have created a frameless wrapper for one of our web pages, so we can hide the chrome header. I am also using the stylebot extension to alter some elements in the page. It works fine inside chrome, but when I run the application the stylebot extension is not loaded.
Any idea how can I add the extension to the application?
Greatly appreciate your help on this
Thanks, Laszlo
A Google chrome extension have to be load in Google Chrome (or Chromium based browsers). The Google chrome extension API is not included in the webview engine.
You can open a frameless window with create method of the Google window API. You should add an handler to browser action click and create a window of with "popup" type and the url you want. It's not exactly what you are looking for but I don't know a better way to do it on Mac. Perhaps some one more familliar with that environement could help you.
An other far more complicated solution is to fork the Crhomium project and do what you want. But it demand a large developpement I think.

How would I open my Chrome app in split screen rather than a new window?

I'm doing a little research on how to develop a Chrome app for a project I have in mind. I would like to open my app in a split screen inside a person's browser tab, so that they can still see the webpage in the browser while interacting with my app. (In the same way that the console and developer tools work.)
Everything I've seen so far indicates that apps can only open a new window, not "split the screen". Is that correct? I haven't seen it explicitly stated.
If splitting the screen is possible - what's the notation/api?
The other option I'm aware of would be to create a DevTools extension (that operates in the Developer Tools split screen window.) I'm not sure that's preferable for this particular app, though
thanks.
Yes, this is correct. Chrome Apps cannot integrate with the browser UI, that's a design choice by Google.
If you need to interact with a browser tab, it must be an extension.
A DevTools panel is not a bad idea, since it frees you from the burden of injecting your own UI into the page. Otherwise, you'll need to modify the page's DOM (perhaps by injecting an iframe with your extension's page).
There is a proposal for a sidebar API, but it's not implemented (or rejected) as of yet.

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.

Customize Google Chrome browser to contain a single webpage

Is there any way to customize Google Chrome? Which technology/language would be used? Is it possible to build a customized version with no toolbars and a webpage inside (I'm interested in something like this one, but for Chrome)?
I guess that you are talking about web apps. You can start Chrome from command line like this:
chrome --app=http://stackoverflow.com/
You can also add the --start-maximized command line switch if you want that window to be maximized.