How does Google Chrome Instant Omnibox work? - google-chrome

How does omnibox instant in Google Chrome 9 work ?
I enabled developer panel and checked, but didn't find any XHRs being fired... Is the Omnibar hidden from developer panel ?

This part is done in C++, so you won't see it in the developer panel; you can use Google Codesearch for Chromium to view the Chromium source code. Of interest may be InstantController and TemplateURLFetcher. It's not the easiest code to follow, because it is written in the asynchronous style (the instant bits register an observer that gets invoked when the suggest URL has been fetched).

Related

Is there a keyboard shortcut to show or hide 'FPS meter' in Chromium versions 60+?

Analyzing an HTML-5 application which makes heavy use of GPU-enabled animations, I would like to constantly check the FPS rate in an environment in which Chrome/Chromium is started with the --kiosk startup flag. Currently, I use Chromium in version 60+.
Most of us know how to en- or disable this feature in Chrome/Chromium by selecting the checkbox FPS meter in regular mode (see: [1], [2]). I already found the startup flag --show-fps-counter which shows the GPU debug box upon startup [3]. However, the official developer documentation provided by Google does not mention ways to use a keyboard shortcut to toggle the display of the FPS meter tool.
So my question is:
Is there an (un-)official keyboard shortcut to show/hide the FPS meter when Chrome/Chromium is launched in --kiosk mode? If so: what is it?
Questions which I already checked/screened and which did not provide a useful answers:
[4], refers to an outdated Chrome version (v33),
[5], refers to Android settop boxes and, as of today, has no answer,
[6], refers to JavaScript and a programmatic activation of the FPS meter (again: no answer).
Any suggestions based on official sources are much appreciated.
The FPS counter, being part of the DevTools, can be toggled programmatically over the Chrome DevTools Protocol (CDP). An example using Puppeteer is available here on the Google Developers site.
So a clumsy but working solution would be writing a script that toggles the FPS counter over CDP, and assign a hotkey to it in your OS. You might want to check the awesome-devtools repo to choose a CDP client in your favorite language.
maybe this solution is useful for you ,
first download an extension called FPS extension
then in extensions panel go to keyboard shortcuts and add a shortcut for this extension,
this way you can turn it on and off when ever you want. hope it helps
You can enable that in the Dev Tools area via Ctrl + Shift + J > Console Drawer > 3-dot menu > Rendering > FPS meter.
There is no keyboard shortcut for this, I'm afraid.

How to block a URL in Chrome's developer tools network monitor

I am currently analysing my page connections and I want to block some tracking scripts and other external URL calls in my network monitor inside Chrome's developer tools.
I quickly want to check how the page behaves without some libraries.
Chrome itself does not provide any functions like this and the famous blocking extensions only block URLs which the user enters manually into the navigation bar.
As pointed out by #calavera.info, #iman.Bahrampour, and #Asim K T this feature is now available in Chrome 59. You can select a URL or domain to block in the Network panel. See this release note and these Screenshots where the StackOverflow logo has been blocked from this page. #iman.Bahrampour also shares two extensions below that will also do this ("HTTP Request Blocker" and "Request Blocker").
As abd3721 mentioned this is available directly within chrome DevTools (You don't need to be on canary anymore), however it is still behind a flag and in the hidden experimental features menu. As of the time of this comment, Chrome stable is on version 53.
To enable it, open this link and click the enable link under the appropriate flag:
chrome://flags/#enable-devtools-experiments
Then in DevTools open up the settings panel(F1) and click on the experiments tab.
This lists all currently available DevTools experiments but it is still in yet another hidden set of features.
Press Shift 6 times while in the experiments tab to show even more hidden features, one of them will be Request Blocking.
NOTE: These features are considered experimental and may be buggy or incomplete. Use with caution.
For blocking requests in google chrome you have 3 options:
1. Google Chrome with pattern matching:
In network tab, right click on request and then select block request URL
There is a plus sign that adds patterns for blocking requests
For example I have 7 request URLs:
http://www.test.com?userid=5
http://www.test.com?username=username
http://www.test.com?email=email
http://www.test.com?name=x
http://www.test.com?family=q
http://www.test.com?family=y
http://www.test.com?family=z
I can block requests that have a specific pattern by adding a pattern(for example the pattern *family* blocks 3 below requests):
http://www.test.com?family=q
http://www.test.com?family=y
http://www.test.com?family=z
Be careful! Because patterns are case sensitive
2. HTTP Request Blocker extension:
This extension has pattern matching for blocking requests:
Match patterns
3. Request blocker extension:
This is a useful extension that has pattern matching for blocking requests.
The most useful features of this request blocker are importing and exporting lists for using by other People.
For exporting a list and using in another computer(or future used): click on Direction down and select Export.
Open the exported list with import list button.
Good Luck
From Chrome 59 you can block specific requests from Network tab of developer tools itself.
https://developers.google.com/web/updates/2017/04/devtools-release-notes#block-requests
Right-click on the request in the Network panel and select Block Request URL. A new Request blocking tab pops up in the Drawer, which lets you manage blocked requests.
This is now achievable in Chrome 59 developer tools by blocking respective requests: https://developers.google.com/web/updates/2017/04/devtools-release-notes#block-requests. With this approach it is somehow difficult to turn off all the stylesheets, but it's easier to turn off just the most annoying ones.
As for Google Chrome 94, it's possible to exclude network activity for entire domain:
1. Go to "Network" panel of DevTools:
2. Rigth click on item of domain you want to block, click on "Block request domain" in the context menu:
3. Type "status-code:0" into "Filter" and click on "Invert" checkbox:
To manage blocked domains, press ESC button when in DevTools, and click on "Network request blocking" tab in the bottom panel:
Will changing host file help.
Your system (windows, linux, mac) all check host before requesting DNS lookup. I use it when I wan tot block some slow advertisers.
windows:
c:\Windows\system32\drivers\etc\hosts
linux & mac
/etc/hosts
* BE VERY CAREFUL TO MAKE BACK UPS *
An existing bug report is requesting this feature. You can star that issue to show support for it being added.
Well, i have been looking for an answer for this too, as I had this issue of choices by counterfeit, and nothing seemed to work for me.
But then I tried to analyze the requests and other things until I figured out, that there was this site which was loading ads onto my pages and redirecting me to advertisements. And also changing the google search bar on new tabs to some unknown search engine. I was able to temporarily block the request on one page. but after opening a new tab, the ads would appear again.
So googling for request blocker, I came up with a chrome extension "HTTP Request Blocker" and added the address which was causing all the crazy ads, has now solved the problem fully.
I hope it will be of help to you too or anyone else.
In the original question, the author states:
the famous blocking extensions only block URLs which the user enters manually into the navigation bar.
This is no longer the case. I have really enjoyed using mokku, which can intercept and mock all types of requests. You can specify what the status code should be, so it will definitely solve this problem as well as adding other functionality that is helpful. It works by another tab in the chrome dev tools. Here is a link to the extension: https://chrome.google.com/webstore/detail/mokku-mock-api-calls-seam/llflfcikklhgamfmnjkgpdadpmdplmji?hl=en

Get the active tab url in crossrider

I came to know that crossrider.com is helping us to develop extension for different browsers, while keeping the same code.
I have two questions
Question 1:
After going through docs and libraries in crossrider, I still wonder how to get the active tab url.
Question 2:
I also need to open a popup after clicking toolbar icon, similar to google chrome extension.
I came across crossrider siderbar plugin. But, I am unable to change the url for sidebar dynamically.
Do we have any other crossrider plugins which opens like an popup ?
Answer Q1: You can use our appAPI.tabs.onTabSelectionChanged(function callback([{tabId, tabUrl}])) method (soon to be documented). To keep track of the ActiveTab URL, in the callback, simply set a global variable to the callback's optional tabUrl parameter. This is currently supported in Chrome and Firefox.
Answer Q2: I'm afraid that currently there isn't a native popup plugin (your welcome to write one and submit it for consideration ;-)). However, you can configure and use jQueryUI popups from within the extension.
I need to get active tab url in IE.
If it is not possible using jquery in IE, can we use messaging api to send messages from pages to background scope, and store the active tab url in background's global variable?

How can I assign shortcuts that activate the different installed Chrome Extensions?

I have a few extensions (with their icons up on the right). I'd like to assign a shortcut for activating each one of them, i.e. a shortcut that simulates clicking the mouse on them.
One extension e.g. is a dictionary and it would be more than useful to be able to open it without tinkering with the mouse.
There's a way to do this in chrome://extensions if you go to the bottom of the page and find "Configure commands" link.
I also am wondering about how to do this, and here is the possible solution suggested by Misha Kupriyanov:
https://plus.google.com/u/0/108214193841489989707/posts/2YBaEqRsCPw
You can take the Quick Disable Chrome extension by +Paul Kinlan (you can find the source on github)
It uses the chrome.management API http://code.google.com/chrome/extensions/management.html
and now you can write your own pageAction extension ;) = include on each page your JavaScript for catching keyboard events and triggering enable/disable events via chrome.management API
Also check out the Vimium (also open source) by Ilya Sukhar (i am not sure its his account)
Try Autohot, it's a free tool that makes it easy to automate that kind of things, easiest would be:
wait for your "keyboard shortcut" to be fired
check that google chrome is the active window
click on the fixed mouse coordinate to activate the extension

Where can I find and submit bug reports on Google's Chrome browser?

It will be important for developers wanting to develop for the chrome browser to be able to review existing bugs (to avoid too much pulling-out of hair), and to add new ones (to improve the thing). Yet I can't seem to find the bug tracking for this project. It is open source, right?
Google is calling it Chromium on Google Code
The Chromium Bug Reporting Page is there and has the link to submit bugs listed. (Google Account Required)
Here's a direct link to the bug report form.
Go to the wrench -> About Google Chrome -> report an issue. (accurate as of v19.0.1084.46)
This is the home page for the Code: http://code.google.com/chromium/
And here's more info: http://dev.chromium.org/getting-involved including the bug list
Click the Chrome menu (), then Help > Report an issue....
Since Google Code has been deprecated, you can also go to bugs.chromium.org in order to report new bugs and features or search for the existing one. The Chrome browser is under chromium category, so after logging-in, you can submit a new bug report by clicking New issue on the top-left corner and follow the wizard steps.
See: Report a problem or send feedback on Chrome at Chrome Help
From the Google Site
Click the Page menu page menu.
Select Report a bug or broken website.
Choose an issue type from the drop-down menu. The web address of the webpage you're on is recorded automatically.
If possible, add key details in the 'Description' field, including steps to reproduce the issue you're experiencing.
Keep 'Send source of current page' and 'Send screenshot of current page' checkboxes selected.
Click the Send report button to report a Google Chrome bug.
I don't see any reference to public bug tracking...
The Google Code site for the Chrome project is available at:
http://code.google.com/chromium/
Facilities available allow you to:
File bug reports;
Join the Google group discussions;
Submit a patch;
Plus there are links to the development blog and a whole bunch of other useful stuff.
See the Issues tab on Chrome's Google Code page.
The bug tracker is here:
https://bugs.chromium.org/p/chromium/
Some shortcuts:
crbug.com
crbug.com/new (file a new bug)
crbug.com/150835 (go to a bug by number)