Chromium is a free and open-source web browser project, primarily developed and maintained by Google.[3] It is a widely-used codebase, providing the vast majority of code for Google Chrome and many other browsers, including Microsoft Edge, Samsung Internet, and Opera. The code is also used by several app frameworks.
DESCARGAR –––––>>> https://www.google.com/url?hl=en&q=https://geags.com/2yOtix&source=gmail&ust=1719821817650000&usg=AOvVaw3Lnjxqh_FRGOaDYCHhmGX2
Chromium is a free and open-source software project. The Google-authored portion is shared under the 3-clause BSD license.[7] Third party dependencies are subject to a variety of licenses, including MIT, LGPL, Ms-PL, and an MPL/GPL/LGPL tri-license.[8]
This licensing permits any party to build the codebase and share the resulting browser executable with the Chromium name and logo. Thus many Linux distributions do this, as well as FreeBSD and OpenBSD.[9]
While Chrome has the same user interface functionality as Chromium, it changes the color scheme to the Google-branded one. Unlike Chromium, Chrome is not open-source, so its binaries are licensed as freeware under the Google Chrome Terms of Service.[12]
Google refers to this project and the offshoot ChromiumOS as "the Chromium projects",[2] and its employees use @chromium.org email addresses for this development work. However, in terms of governance, the Chromium projects are not independent entities; Google retains firm control of them.[3]
The Chromium browser codebase is widely used, so others have made important contributions, most notably Microsoft, Igalia, Yandex, Intel, Samsung, LG, Opera, Vivaldi, and Brave.[13][3] Some employees of these companies also have @chromium.org email addresses.
Google designed the first multi-process browser.[14][15] Compared to single-process designs, this architecture has better responsiveness with many browser tabs open and security benefits of process isolation, but with the trade-off of higher memory usage.[16][17] This was later refined as per-process website isolation, providing additional security.[16]
The browser engine was originally based on Apple's WebKit, which Google deemed the "obvious choice" of available options.[20] However, Google's novel multi-process design required engine changes. This divergence from Apple's version increased over time, so in 2013 Google officially forked its version as the Blink engine.[20][21]
C++ is the primary language, comprising over half of the codebase.[4] This includes the Blink and V8 engines, the implementation of HTTP and other protocols, the internal caching system, the extension API, and most of the user interface.[22]
The rest of the user interface, called the WebUI, is implemented in HTML, CSS, and JavaScript (usually via TypeScript transpilation).[22][5] An extensive collection of web platform tests is also written in these languages plus XML.[6][4]
Builds are identified by a four-part version number that is major.minor.build.patch.[29] This versioning scheme and the branch points that occur every six to seven weeks are from Google Chrome and its development cycle.[30]
Upon release, Chrome was criticized for storing a user's passwords without the protection of a master password. Google has insisted that a master password provides no real security against knowledgeable hackers, but users argued that it would protect against co-workers or family members borrowing a computer and being able to view stored passwords as plaintext.[33] In December 2009, Chromium developer P. Kasting stated: "A master password was issue 1397. That issue is closed. We will not implement a master password. Not now, not ever. Arguing for it won't make it happen. 'A bunch of people would like it' won't make it happen. Our design decisions are not democratic. You cannot always have what you want."[34]
Version 3 was the first alpha available for Linux. Chromium soon incorporated native theming for Linux, using the GTK+ toolkit to allow it fit into the GNOME desktop environment.[35][36][37][38] Version 3 also introduced JavaScript engine optimizations and user-selectable themes.[39]
Version 6 introduced features for user interface minimalism, as one of Google's goals was to make the browser "feel lightweight (cognitively and physically) and fast".[19] The changes were a unified tools menu, no home button by default (although user configurable), a combined reload/stop button, and the bookmark bar deactivated by default. It also introduced an integrated PDF reader, WebM and VP8 support for use with HTML video, and a smarter URL bar.[40][41]
Version 8 focused on improved integration into ChromeOS and improved cloud features. These include background web applications, host remoting (allowing users centrally to control features and settings on other computers) and cloud printing.[44]
Version 9 introduced a number of features, including a URL bar feature for exposing phishing attacks and sandboxing for the Adobe Flash plug-in. Other additions were the WebGL library and access for the new Chrome Web Store.[45][46][47]
In February, Google announced that it was considering large-scale user interface (UI) changes, including at least partial elimination of the URL bar, which had been a mainstay of browsers since the early years of the Web. The proposed UI was to be a consolidation of the row of tabs and the row of navigation buttons, the menu, and URL bar into a single row. The justification was freeing up more screen space for web page content. Google acknowledged that this would result in URLs not always being visible to the user, that navigation controls and menus may lose their context, and that the resulting single line could be quite crowded.[49] However, by August, Google decided that these changes were too risky and shelved the idea.[50]
In March, Google announced other directions for the project. Development priorities focused on reducing the size of the executable, integrating web applications and plug-ins, cloud computing, and touch interface support.[51][52] Thus a multi-profile button was introduced to the UI, allowing users to log into multiple Google and other accounts in the same browser instance. Other additions were malware detection and support for hardware-accelerated CSS transforms.[53][54]
By May, the results of Google's attempts to reduce the file size of Chromium were already being noted. Much of the early work in this area concentrated on shrinking the size of WebKit, the image resizer, and the Android build system.[55] Subsequent work introduced a more compact mobile version that reduced the vertical space of the UI.[56][57]
Other changes in 2011 were GPU acceleration on all pages, adding support for the new Web Audio API, and the Google Native Client (NaCl) which permits native code supplied by third parties as platform-neutral binaries to be securely executed within the browser itself.[58][59] Google's Skia graphics library was also made available for all Chromium versions.[60][61]
The sync service added for Google Chrome in 2012 could also be used by Chromium builds.[62][63] The same year, a new API for high-quality video and audio communication was added, enabling web applications to access the user's webcam and microphone after asking permission to do so.[64][65] Then GPU accelerated video decoding for Windows and support for the QUIC protocol were added.[66][67]
Other changes in 2013 were the ability to reset user profiles and new browser extension APIs.[68] Tab indicators for audio and webcam usage were also added, as was automatic blocking of files detected as malware.[69]
Version 67 added the security benefit of per-process website isolation.[16] Then version 69 introduced a new browser theme, as part of the tenth anniversary of Google Chrome.[70] The same year, new measures were added to curtail abusive advertising.[71]
With either approach, the custom app is implemented with HTML, CSS, JavaScript, and other web technologies. Moreover, the app can be readily deployed on the operating systems supported by Chromium. Since the 2010s, many apps have been created this way. (Two examples are Spotify and Slack.)[77][78]
Chromium is an open-source browser project that aims to build a safer, faster,and more stable way for all Internet users to experience the web. This sitecontains design documents, architecture overviews, testing information, and moreto help you learn to build and work with the Chromium source code.
When I just recently updated to the newest Ubuntu release I realized that the installer programmatically reinstalled snap, although I had manually removed it before. Additionally the installer removed Chromium, which was installed via the repositories, and reinstalled it via snap.
Debian still maintains Chromium as a regular package in their APT repository. We can configure Ubuntu to get it from there, and continue to receive timely security updates along with all of our other OS updates. This makes sense from a security perspective, since Debian is where Ubuntu already gets most of its packages, and is a very well known high-profile project. There is no need to risk installing software from some random source or telling your system to trust a PPA.
That tells apt to look for packages not only in the Ubuntu archives, but also in the Debian stable archives. This is ordinarily a bad idea, because you don't want hundreds of random Ubuntu packages being replaced with Debian versions, which would very likely break your system. However, we're going to add some rules to avoid this problem.
Note: The /usr/share/keyrings/debian-archive-keyring.gpg file referenced above, along with several other Debian keyring files, are already present on my Ubuntu system thanks to the debian-archive-keyring package. It may already be on your system, too, but if not, you should install it: sudo apt install debian-archive-keyring
The first stanza assigns a below-normal priority to Debian Chromium packages; just high enough to allow them to be manually installed and automatically updated, but not high enough to be preferred over Ubuntu packages. This is called apt pinning, and is described in the apt_preferences manual. The second stanza assigns a very low priority to all other Debian packages, so they will only be automatically installed or updated if necessary to satisfy a dependency.
d3342ee215