Chrome 84+: A website wants to open this application: Handlers - google-chrome

I had the following fixes, which opened the needed application in Chrome without confirmation each time. They worked well until the update of Version 84.0.4147.89 (Official Build) (64-bit).
Fix 1:
In C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default\Preferences
"protocol_handler":{"excluded_schemes":{"neededApp":false}}
Fix 2:
In Regedit: HKEY_CURRENT_USER\Software\Policies\Google\Chrome
Create DWORD ExternalProtocolDialogShowAlwaysOpenCheckbox =1
Any idea what changed or how to fix that issue for the new version? It doesn't happen with all apps.

If you go into chrome://flags/ and search for "Insecure origins treated as secure" and then add the origin e.g. "http://example.com", you then get the tick box to allow to remember the selection.
I just tried this in Chrome 84 and MS Edge 84. You do get a warning when opening Edge that you are using an insecure option, but as it is for a specific URL this seems acceptable.
The usual caveats apply in that you do trust the site to be treated as if it was secure!

I had the same issue on chrome 84,
try to add in your chrome pref's file:
"protocol_handler":{"allowed_origin_protocol_pairs":{"SITE_DOMAIN":{"NEEDED_APP":true}}}
instead of:
"protocol_handler":{"excluded_schemes":{"NEEDED_APP":false}}

notice that
"protocol_handler":{"allowed_origin_protocol_pairs":{"SITE_URL":{"APP_NAME":true}}}
works only with https sites

Try this:
"protocol_handler": {
"allowed_origin_protocol_pairs": {
"file://": { "myprotocol": true },
"http://localhost:12345": { "myprotocol": true },
"https://google.com": { "myprotocol": true },
}
},
local-file/http/https are all work well.

Related

`speculationrules` markup not working for prerendering pages in Chrome

Following the instructions in the Chrome blog Prerender pages in Chrome for instant page navigations, I am trying to enable pre-rendering on a website. I have added this snippet just before </body>.
<script type="speculationrules">
{
"prerender": [
{
"source": "list",
"urls": ["/Test/1","/Test/2","/Test/3"]
}
]
}
</script>
However, on the latest version of Chrome 108, none of these valid URLs are prefetched or prerendered when opening the page. I can confirm this in the Network tab of Dev Tools, and by following links to the pages which take the usual load time.
In the console, HTMLScriptElement.supports('speculationrules') returns true.
Am I missing something?
I can confirm this in the Network tab of Dev Tools
As the new prerender happens in a separate process (effectively like a background tab) any network calls are not shown in the current page’s DevTools. The Chrome team are working on adding DevTools support.
So here’s a few things to check:
Chrome doesn’t prerender when it’s already using a lot of memory. Try restarting Chrome with just that tab to rule this out.
Make sure you have “Preload pages” ticked in Settings->Privacy & Security->Cookies and other site data
Chrome Canary has a handy experimental setting which shows the reason pre-renders fail worth checking that out. Hopefully that will make it to stable soon.
It’s worth confirming if this is a specific issue to your site, or a general prerendering issue. Checkout the demo linked from that article and let us know if that works
Switching tabs currently cancels any prerenders. So make sure you launch straight from your page.
URL param differences can prevent prerendering being activated as it’s effectively not the same page.
There have been a few bug fixes since 108, so it maybe you’re hitting one of those? Check Dev, Beta, or Canary versions.
There is a “holdback” group of people we randomly select to disable this feature so we can continue to monitor it as it is rolled out, and compare to those not using it. It could be you’re in this group. Unfortunately there’s no easy way to tell this (the Chrome team is working on adding this). Try guest mode to see if that works which is usually the best sign you’re in this group.
Might be able to advise more after you try above steps and let me know.

Google Chrome Headless Error "Not supported" When using getDisplayMedia trying to record screen from Chrome Tab in Puppeteer

I am using Puppeteer latest version with Chromium 80 and I'm trying to record video from page in chrome headless and turned on all these flags:
{
headless: true,
devtools: false,
args: [
'--no-sandbox',
'--allow-insecure-localhost',
'--enable-usermedia-screen-capturing',
'--use-fake-ui-for-media-stream', // In headless: false it will capture display rather than tab and in headless: true doesn't work
'--auto-select-desktop-capture-source=[RECORD]', //[RECORD] is the title of my localhost page trying to screen capture
'--remote-debugging-port=9222',
'--window-size=1440,900',
],
ignoreDefaultArgs: [
'--mute-audio',
'--disable-media-session-api',
]
}
On windows if this is headless : false it will capture the chrome tab (sometimes crashes). But if this is headless : true even on Windows it says it is Not supported.
If --use-fake-ui-for-media-stream flag is on then it is another story and it will capture one of my displays regardless of being headless true or false.
Now I want to use this on my linux server where there is no display and I just want the chrome headless : true to capture my chrome tab. I know it can do that because I can see the screen in headless : true mode in the DevTools. If it is creating a display on DevTools it MUST be able to create the display on screen capture. I suppose there must be other flags to be turned on on Puppeteer so it is allowed to do so. I am using navigator.mediaDevices.getDisplayMedia in order to get the screen data.
I also have tried this video configuration and it didn't work (crashed) and apparently only works on extensions and I need to get source id from background:
screenStream = await navigator.mediaDevices.getDisplayMedia({
video: {
//mandatory: {
// chromeMediaSource: 'tab', // Not using this!
//}
},
audio: false
});
Is there anyone that knows what flags should be also considered into the Puppeteer?
Please Note that I don't want to use xvfb and Selenium (WebDrive) or any extensions in my chrome headless.
This issue is reported as a bug Here and also people on GitHub are having same issue. it seems its a bug and it's not clear when they are going to fix it.
In the meantime you can use puppeteer-video-recorder plugin which apparently works in headless and headful mode.
Does it record videos in headless Chrome?
Yes it does.
But since it uses FFMPEG the creation of the video seems to be slow.
anyways, I hope you can use it and it helps you.

What does bis_skin_checked="1" mean? It's showing on most of my elements when using chromes code source view?

I'm confused I don't know if the latest update of chrome AKA version 73 just integrated this attribute on purpose but I'm getting a strange attribute that I did not added into my web pages and i'm wondering what this means in chrome?
CHROME BROWSER
EDGE BROWSER
Should I be concern with this? It's only showing on Chrome.
There is another Chrome and Firefox plugin that does same, sadly, but probably one of best VPN tools Urban VPN Browser Extension. The solution is same, just deactivate. Btw, those guys have other extensions, haven't tested others.
Just uninstall any type of VPN that you installed in you browser and afterwards bis_skin_checked="1" will removed automatically.
The attribute is added just because of one of an extension of the Chrome Browser you have installed in your Chrome Browser. I also got this attribute added to my HTML when checking in the console. Then I replicate this by deactivating extensions one by one and found it's adding from Hover Over extension.
This problem has happened to me recently. I installed the Urban VPN plugin and after that, I faced this issue. But uninstalling the plugin, the problem is solved.
I've got the SpeakIt! [Version 0.3.20] extension installed for Chrome [Version 74.0.3729.131 (Official Build) (64-bit)] on Windows 10, and I am seeing the same bis_skin_checked="1" when it's enabled. When I disable the SpeakIt! extension, the bis_skin_checked="1" goes away.
This thing append from different Chrome/Mozilla extension.
Disable recent extensions to see the changes(bis_skin_checked="1" goes away
).

How to load a page on the first tab / new window in a browser extension

I have a browser extension for Chrome and Firefox and in the manifest.json I've defined a page to load on new tabs:
"chrome_url_overrides": {
"newtab": "page.html"
},
In Firefox this shows my page in new tabs but not on the first tab or in new windows. In Chrome this is no issue and the page is shown for the first tab, new tabs and new windows.
I read about the homepage setting, which would be used like this:
"chrome_settings_overrides": {
"homepage": "page.html"
},
As it resides in a different key (chrome_settings_overrides) I get the feeling it behaves differently as well but I can't find much about the differences or similarities between these two in the docs.
The Firefox docs actually links these two features together by stating you might need the other. (Firefox newtab and homepage, Chrome newtab and homepage.) Also I found this issue in the Firefox bugtracker (https://bugzilla.mozilla.org/show_bug.cgi?id=1341458) where they're moving the homepage setting from chrome_url_overrides to chrome_settings_overrides, so that implies they work similar.
Update: I tried making this change and it breaks the extension in Firefox without specific explanation and gives a warning in Chrome stating that the homepage should be a url.
Does someone know how to make an extention take over the first/new window in Firefox?
And optionally:
if there's any differences between these two features?
why Chrome seems to not need the homepage to be defined and uses the newtab setting for the first tab and new windows as well?
Any changes of using this? (there is a index parameter for the position) https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/create

chrome based browser "feature" - how to get original functionality back?

If you try to visit the default rss feed for any recently updated wordpress site in the chrome browser you ALWAYS get this annoying prompt for "Which service should be used for viewing?". This did not used to happen in chrome. This does not happen in other major browsers. How can I correct this in chrome to just show me the parsed xml like it used to?
PS the example page you see in the background is http://wordpress.com/feed - as soon as you try to visit that page in chrome you should see this prompt as well.
I just discovered "Feed Intent Viewer" which is a Chrome extension that basically brings back the old functionality.
https://chrome.google.com/webstore/detail/oceapojkdgeophkjdijkpbjifdnfimdh
I am using chrome Version 21.0.1180.79 on ubuntu and having the same request to download issue on such safe websites as sciencefriday.com. I have submitted the problem to chrome. -fingers crossed for a patch-
I found a solution after many research (because it's really annoying...)
Download and install the new Beta version of chrome: it's all fixed