Google has released Chrome 26 FINAL for Windows, Mac and Linux. The latest release proffers three relatively minor new features, including improved spellchecking, plus 11 specific security fixes.
Mar 9, 2018 - Most users of Google's Chrome web browser likely know that it can. Use Ctrl-F in Windows or Cmd-F on the Mac and search for that phrase. Locate and click on the “Find” option. Once you click “Find,” the drop-down menu should disappear, and instead, a small text box should appear beneath the address bar. Inside the text box should be a search bar, up and down arrows, and an “X.” Type in the word or phrase you would like to find on the webpage.
The most notable changes in Chrome 26 are improvements to the spell-checker tool. All supported dictionaries have been refreshed, while Korean, Tamil and Albanian support have all been added. Those using the Google Sync feature will be pleased to learn that any custom words added to the dictionary can now be synced to other devices along with other settings.
Also tweaked is the “Ask Google for suggestions” spell-checking feature. The feature -- powered by the same technologies found in Google’s search engine -- now supports checks for grammar, proper nouns, homonyms -- words with the same spelling or sound, but a different meaning -- and context-sensitive spell-checking, albeit only in English at present.
At the present time, only basic support is implemented in Windows and Linux, with the features expected to roll out over the next few weeks. Mac support should follow soon. The Ask Google for suggestions feature isn’t switched on by default – right-click inside a text box and enable it from the Spell-checker options sub-menu.
Also added in version 26 is a Windows-only feature that allows users to now save desktop shortcuts for individual user profiles on the desktop allowing users to quickly launch Chrome with their user settings applied. The option appears when creating a new user, and the shortcut places the user profile icon on top of the default Chrome icon for easy identification.
The final new feature is the addition of an asynchronous DNS resolver on Mac and Linux platforms – the feature is already present in the Windows build. The asynchronous DNS resolver is used to help speed up DNS resolution time – the time taken for a typed web address to be translated into its actual four-digit IP address before the site can be loaded.
11 specific security fixes and “rewards” have also been implemented in Chrome 26, including two rated high: one ensures isolated websites are run in their own process, while the other fixes an issue -- “use-after-free” -- in Web Audio. Google Chrome 26 FINAL is available now as a free download for Windows, Mac and Linux.
Important: Chrome will be removing support for Chrome Apps on Windows, Mac, and Linux. Chrome OS will continue to support Chrome Apps. Additionally, Chrome and the Web Store will continue to support extensions on all platforms. Read the announcement and learn more about migrating your app.
All Chrome extensions must be distributed either directly from theChrome Web Storeor by using the mechanisms described below.Failure to comply with one of these distribution methods constitutesa violation of theChrome extension policyand may result in the extensionand/or the software distributing it to be flagged asunwanted software.
Usually, users install extensions from the Chrome Web Store,but sometimes you might want an extensionto be installed via other means.Here are two typical cases:
- An extension is associated with some other software, and the extension should be installed whenever the user installs that other software.
- A network admin wants to install the same extensions throughout their organization.
An extension that is not installed from the Chrome Web Storeis known as anexternal extension.For developers who want to distribute an extension as partof the installation process for other software,or for network admins that want to distribute an extensionthroughout their organization,Google Chrome supports the following extension installation methods:
- Using a preferences JSON file (for Mac OS X and Linux only)
- Using the Windows registry (for Windows only)
Both ways support installing an extension hosted at an
update_URL
.On Windows and Mac,the update_URL
must point to the Chrome Web Storewhere the extension must be hosted.The preferences file on Linux can pointto your own server where you are hosting the extension.The preferences JSON file also supports installingan extension from a
.crx
extensionfile on the user's Linux computer.Before you begin
First, publishthe extension in the Chrome Web Store,or package a
.crx
fileand make sure that it installs successfully.Windows and Mac installs must come from Chrome Web Store:
As of Chrome 33,no external installs are allowed from a path to a local
As of Chrome 33,no external installs are allowed from a path to a local
.crx
on Windows(see Protecting Windows users from malicious extensions).As of Chrome 44,no external installs are allowed from a path to a local .crx on Mac(see Continuing to protect Chrome users from malicious extensions).If installing from an update URL, ensure that the extensionis properly hosted.
Before you edit the preferences file or the registry,make a note of the following:
- The intended location of the extension's
.crx
file, or the update URL from which it is served - The extension's version (from the manifest file or the chrome://extensions page)
- The extension's ID (from the chrome://extensions page when you've loaded the packed extension)
The following examples assume the version is
1.0
and the ID is aaaaaaaaaabbbbbbbbbbcccccccccc
.Using a preferences file
Mac OS X and Linux only:Do not use the preferences file for Windows.Use Windows registry instead.
- If you are installing from a file on Linux, make the
.crx
extensionfile available to the machine you want to install the extension on.(Copy it to a local directory or to a network share for example,servershareextension.crx
or/home/share/extension.crx
.) - Create a file with the following name in one of the folders listed below:
aaaaaaaaaabbbbbbbbbbcccccccccc.json
where the file name (without the extension) corresponds to your extension's ID. The location depends on the operating system.- Mac OS X:
- For a specific user:
~USERNAME/Library/Application Support/Google/Chrome/External Extensions/
For all users:/Library/Application Support/Google/Chrome/External Extensions/
The external extension file for all users is read only if every directory in the path is owned by the userroot
, has the groupadmin
orwheel
, and is not world writable. The path must also be free of symbolic links. These restrictions prevent an unprivileged user from causing extensions to be installed for all users. See troubleshooting for details.Note: The above path for all users was added in Chrome 16. Prior versions used a different path:/Applications/Google Chrome.app/Contents/Extensions/
This path was deprecated in version 17. Support was removed in version 20. Use one of the paths above instead. - Linux:
/opt/google/chrome/extensions/
/usr/share/google-chrome/extensions/
Note: Usechmod
if necessary to make sure that theaaaaaaaaaabbbbbbbbbbcccccccccc.json
files are world-readable.
- Linux only: If you are installing from a file, specify the extension's location and version with fieldsnamed 'external_crx' and 'external_version' in the file created above.
- Example:
- Note: You need to escape each
character in the location. For example,
servershareextension.crx
would be'servershareextension.crx'
.
- If you are installing from an update URL, specify the extension's update URLwith field name 'external_update_url'.
- Example of installation from local .crx file (Linux only):
- Example of installation from the Chrome Webstore (Mac and Linux):
- If you would like to install extension only for some browser locales,you can list supported locales in field name 'supported_locale'. Locale mayspecify parent locale like 'en', in this case the extension will beinstalled for all English locales like 'en-US', 'en-GB', etc.If another browser locale is selected that is not supported by the extension,the external extensions will be uninstalled. If 'supported_locales' listis missing, the extension will be installed for any locale.
- Example:
- Save the JSON file.
- Launch Google Chrome and go to chrome://extensions;you should see the extension listed.
Note:Previous versions of Google Chrome used an
external_extensions.json
file to specify which extensions toinstall. This file has been deprecated in favor of individual .json
files, one per extension.Troubleshooting Mac OS permissions problems
On Mac OS, the external extensions files for all users are only read if file system permissions prevent unprivileged users from changing it. If you do not see external extensions installed when Chrome is launched, there may be a permissions problem with the external extensions preferences files. To see if this is the problem, follow these steps:
- Launch the Console program. You can find it under /Applications/Utilities/Console.
- If the leftmost icon in the Console says 'Show Log List', click that icon. A second column appears at the left.
- Click 'Console Messages' in the left pane.
- Search for the string Can not read external extensions. If there is a problem reading the external extensions files, you will see an error message. Look for another error message directly above it, which should explain the issue. For example, if you see the following error: 'Path /Library/Application Support/Google/Chrome is owned by the wrong group', you need to use
chgrp
or the Finder's Get Info dialog to change the directory's group owner to the Administrator group. - After fixing the issue, relaunch Chrome. Test that the external extension is now installed. It is possible that one permissions error keeps Chrome from detecting a second error. If the external extension was not installed, repeat these steps until you do not see an error in the Console application.
Using the Windows registry
- Find or create the following key in theregistry:
- 32-bit Windows:
HKEY_LOCAL_MACHINESoftwareGoogleChromeExtensions
- 64-bit Windows:
HKEY_LOCAL_MACHINESoftwareWow6432NodeGoogleChromeExtensions
- 32-bit Windows:
- Create a new key (folder)under the Extensions key with thesame name as the ID of your extension(for example,
aaaaaaaaaabbbbbbbbbbcccccccccc
). - In your extension key,create a property, 'update_url', and set it to the value:'https://clients2.google.com/service/update2/crx'(this points to your extension's crx in the Chrome Web Store):
- Launch the browser and go tochrome://extensions; you shouldsee the extension listed.
Updating and uninstalling
Google Chrome scans the metadata entriesin the preferences and registryeach time the browser starts, and makesany necessary changes to the installedexternal extensions.
To update your extension to a new version,update the file, and then update the versionin the preferences or registry.
To uninstall your extension(for example, if your software is uninstalled),remove your preference file (aaaaaaaaaabbbbbbbbbbcccccccccc.json)or the metadata from the registry.
FAQ
This section answers common questions about external extensions.
Will the methodology for allowing a “pre-install” still be supportedby Google Chrome from M33 onwards?
Yes, but only as an install from a Chrome Web Store
update_URL
,not from a local file path.Can I specify a URL as a path to the external extension?
Yes, use the preferences JSON filefor Mac OS X and Linux; the registry for Windows.The extension must be hosted as explained inhosting.In the preferences file,use the 'external_update_url' property to point to anupdate manifest that has the URL for yourextension.In the Windows registry,use the 'update_url' property.
What are some common mistakes when installing with the preferencesfile?
- Not specifying the same id/version as the one listed in the
.crx
- The .json file (
aaaaaaaaaabbbbbbbbbbcccccccccc.json
) is in the wrong location or the ID specified does not match the extension ID. - Syntax error in JSON file (forgetting to separate entries with comma or leaving a trailing comma somewhere)
- JSON file entry points to the wrong path to the
.crx
(or path specified but no filename) - Backslashes in UNC path not escaped (for example,
'serversharefile'
is wrong; it should be'servershareextension'
) - Permissions problems on a network share
What are some common mistakes when installing with the registry?
- Not specifying the same id/version as the one listed in the Chrome Web Store
- Key created in the wrong location in the registry
- Registry entry points to the wrong pathto the
.crx
file in the Chrome Web Store - Permissions problems on a network share
How do I update my native binaries and extension in-step?
Previously when off-store extensions were supported,it was possible to have the native binaries and the extension be updated in lock step.However, extensions hosted on the Chrome Web Store are updatedvia the Chrome update mechanism which developers do not control.Extension developers should be careful about updating extensionsthat have a dependency on the native binary(for example, legacy extensions using NPAPI).
What if the user uninstalls the extension?
If the user uninstalls the extension through the UI, it will nolonger be installed or updated on each startup. In other words, theexternal extension is blocklisted.
How do I get off the blocklist?
If the user uninstalls your extension, you should respect thatdecision. However, if you (the developer) accidentally uninstalledyour extension through the UI,you can remove the blocklist tagby installing the extension normallythrough the UI, and then uninstalling it.