Chromium windows 10 что это

From Wikipedia, the free encyclopedia

Chromium

Chromium 111 displaying Wikipedia front page

Original author(s) Google[1]
Developer(s) Mainly Google[2][3]
Initial release 2 September 2008; 15 years ago[1]
Repository
  • chromium.googlesource.com/chromium/src Edit this at Wikidata
Written in C++ primarily,[4] HTML, CSS, JavaScript for UI and test suite[5][6]
Engines Blink, V8
Operating system Windows, Linux, Android, iOS, macOS, BSD
Platform IA-32, x86-64, ARM, ARM64
License BSD-3[7] and others[8]
Website www.chromium.org/Home

Chromium is a free and open-source web browser project, mainly developed and maintained by Google.[3] This codebase provides the vast majority of code for the Google Chrome browser, which is proprietary software and has some additional features. Chromium’s logo is identical in shape to that of Google Chrome, but with blue colors instead of being multicolor.

The Chromium codebase is widely used. Microsoft Edge, Samsung Internet, Opera, and many other browsers are based on the Chromium code. Moreover, significant portions of the code are used by several app frameworks.

Google does not provide an official stable version of the Chromium browser, but does provide official API keys for some features, such as speech to text and translation.

Licensing[edit]

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]

Differences from Google Chrome[edit]

Chromium provides the vast majority of source code for Google Chrome, so the name «Chromium» was chosen by Google because chromium metal is used in chrome plating.[1][10]

Features[edit]

Chromium lacks the following Chrome features:[9]

  • Automatic browser updates
  • API keys for some Google services, including browser sync[11]
  • The Widevine DRM module
  • Licensed codecs for the popular H.264 video and AAC audio formats
  • Tracking mechanisms for usage and crash reports

Branding and licensing[edit]

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]

Development[edit]

The Chromium browser codebase contains about 35 million source lines of code.[4]

Contributors[edit]

Chromium has been a Google project since its inception,[1][3] and Google employees have done the bulk of the development work.[2]

Google refers to this project and the offshoot ChromiumOS as «the Chromium projects»,[13] 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, and Brave.[2][3] Some employees of these companies also have @chromium.org email addresses.

Programming languages[edit]

C++ is the primary language, comprising about half of the codebase.[4] This includes the Blink and V8 engines, the implementation of HTTP and other protocols, the internal caching system, and other essential browser components.

Some of the user interface is implemented in HTML, CSS, and JavaScript.[5][4] An extensive collection of web platform tests is also written in these languages.[6]

About 10% of the codebase is written in C.[4] This is mostly from third-party libraries that provide essential functionality, such as SQLite and numerous codecs.[14]

Support for mobile operating systems requires special languages: Java for Android, and for iOS both Swift and Objective-C.[5][4]

In January 2023, Google announced the future use of third-party libraries written in Rust,[15] but this has not yet occurred.[16]

Logistics[edit]

The bug tracking system is a publicly accessible website.[17] Participants are identified by their email addresses.

The Chromium continuous integration system automatically builds and tests the codebase several times a day.[18]

Builds are identified by a four-part version number that is major.minor.build.patch.[19] This versioning scheme and the branch points that occur every six to seven weeks are from Google Chrome and its development cycle.[20]

History[edit]

2008 to 2010[edit]

Google Chrome debuted in September 2008, and along with its release, the Chromium source code was also made available, allowing builds to be constructed from it.[1][21][22]

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.[23] 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.»[24]

An alpha build of Chromium 3 for Linux

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.[25][26][27][28] Version 3 also introduced JavaScript engine optimizations and user-selectable themes.[29]

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».[30] 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 HTML5 video, and a smarter URL bar.[31][32]

Version 7 boosted HTML5 performance to twice that of prior versions via hardware acceleration.[33][34][35]

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.[35]

Version 9 introduced a URL bar feature for exposing phishing attacks, plus sandboxing for the Adobe Flash plug-in. Other additions were the WebGL library and access for the new Chrome Web Store.[36][37][38]

2011[edit]

Chromium logo introduced in 2011[39]

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.[40] However, by August, Google decided that these changes were too risky and shelved the idea.[41]

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.[42][43] 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.[44][45]

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.[46] Subsequent work introduced a more compact mobile version that reduced the vertical space of the UI.[47][48]

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.[49][50] Google’s Skia graphics library was also made available for all Chromium versions.[51][52]

Since 2012[edit]

The Chromium Material Icon used until 2022

The sync service added for Google Chrome in 2012 could also be used by Chromium builds.[53][54] 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.[55][56] Then GPU accelerated video decoding for Windows and support for the QUIC protocol were added.[57][58]

In 2013, Chromium’s modified WebKit rendering engine was officially forked as the Blink engine.[59][60]

Other changes in 2013 were the ability to reset user profiles and new browser extension APIs.[61] Tab indicators for audio and webcam usage were also added, as was automatic blocking of files detected as malware.[62]

Version 69 introduced a new browser theme, as part of the tenth anniversary of Google Chrome.[63] The same year, new measures were added to curtail abusive advertising.[64]

Starting in March 2021, the Google Chrome sync service can no longer be used by Chromium builds.[65][11]

Browsers based on Chromium[edit]

In addition to Google Chrome, many other notable web browsers have been based on the Chromium code.

Active[edit]

  • Arc
  • Amazon Silk
  • Avast Secure Browser, developed by Avast.
  • Blisk is a browser available for Windows 7 and later, OS X 10.9 and later that aims to provide an array of useful tools for Web development.
  • Brave is an open-source web browser that aims to block website trackers and remove intrusive internet advertisements.
  • Carbonyl is a fork for the command-line interface.[66]
  • CodeWeavers CrossOver Chromium is an unofficial bundle of a Wine derivative and Chromium Developer Build 21 for Linux and macOS, first released on 15 September 2008 by CodeWeavers as part of their CrossOver project.[67][68]
  • Comodo Dragon is a rebranded version of Chromium for 32-bit Windows 8.1, 8, Windows 7 and Vista[69] produced by the Comodo Group. According to the developer, it provides improved security and privacy features.[70]
  • Cốc Cốc is a freeware web browser focused on the Vietnamese market, developed by Vietnamese company Cốc Cốc, based on Chromium open-source code for Windows.[71] According to data published by StatCounter in July 2013, Cốc Cốc passed Opera to become one of the top 5 most popular browsers in Vietnam[72] within 2 months after its official release.[73]
  • Epic Browser is a proprietary privacy-centric web browser developed by Hidden Reflex of India and based on Chromium source code.[74]
  • Falkon is an open-source Qt-based GUI, using the Chromium-based QtWebEngine.[75]
  • Microsoft Edge is Chromium-based as of 15 January 2020.[76][77]
  • Naver Whale is a South Korean freeware web browser developed by Naver Corporation, which is also available in English. It became available on Android on 13 April 2018.
  • Opera began to base its web browser on Chromium with version 15.[78]
  • Qihoo 360 Secure Browser is a Chromium-based Chinese web browser developed by Qihoo.[79]
  • qutebrowser a Qt-based GUI with Vim-like keybindings, using the Chromium-based QtWebEngine.[80]
  • Samsung Internet shipped its first Chromium-based web browser on Galaxy S4 in 2013.[81]
  • Sleipnir is a Chromium derivative browser for Windows and macOS. One of its main features is linking to Web apps (Facebook, Twitter, Dropbox, etc.) and smartphone apps (Google Map, etc.). It also boasts what it calls «beautiful text,» and has unique graphical tabs, among other features.[82]
  • Slimjet: A Chromium-based web browser released by FlashPeak that features built-in webpage translation, PDF viewing capability and a PPAPI flash plugin, features usually missing from Chromium-based browsers currently not supported.
  • SRWare Iron is a freeware release of Chromium for Windows, macOS and Linux, offering both installable and portable versions. Iron disables certain configurable Chromium features that could share information with third parties and additional tracking features that Google adds to its Chrome browser.[83]
  • ungoogled-chromium is a privacy-focused browser based on Chromium. Initially developed for Linux, versions for Windows and MacOS were later added. It removes all Google services and analytics built into Chromium.[84]
  • Vivaldi is a browser for Windows, macOS and Linux developed by Vivaldi Technologies.[85][86] Chromium-based Vivaldi aims to revive the rich features of the Presto-era Opera with its own proprietary modifications.
  • Yandex Browser is a browser created by the Russian software company Yandex for macOS, Windows, Linux, Android and iOS.[87] The browser integrates Yandex services, which include a search engine, a machine translation service and cloud storage. On Android it provides ability to install chrome extensions on a mobile browser.[88]

Discontinued[edit]

  • Beaker, a peer-to-peer web browser
  • Dissenter, a fork of Brave browser that adds a comment section to any URL.[89]
  • Flock – a browser that specialized in providing social networking and had Web 2.0 facilities built into its user interface. It was based on Chromium starting with version 3.0. Flock was discontinued in April 2011.[90][91]
  • Redcore – a browser developed by Chinese company Redcore Times (Beijing) Technology Ltd. and marketed as a domestic product that was developed in-house, but was revealed to be based on Chromium[92]
  • Rockmelt – a Chromium-based browser for Windows, macOS, Android and iOS under a commercial proprietary licence. It integrated features from Facebook and Twitter, but was discontinued in April 2013 and fully retired at 10am PT on 31 July 2013.[93][94] On 2 August 2013, Rockmelt was acquired by Yahoo! Rockmelt’s extensions and its website was shut down after 31 August 2013. Yahoo! plans to integrate Rockmelt’s technology into other products.[95]
  • SalamWeb – a web browser based on Chromium for Muslims, which only allowed Halal websites/information.
  • Torch was a browser based on Chromium for Windows. It specialised in media downloading and had built-in media features, including a torrent engine, video grabber and sharing button.[96]

Use in app frameworks[edit]

Significant portions of the Chromium code are used by some application frameworks. Notable examples are Electron, the Chromium Embedded Framework, and the Qt WebEngine.[75] These frameworks have been used to create many apps.

References[edit]

  1. ^ a b c d e Google (2 September 2008). «Welcome to Chromium». Retrieved 28 April 2021.
  2. ^ a b c «Intent to Explain: Demystifying the Blink Shipping Process». Chromium Blog. 12 November 2019. Retrieved 27 April 2021.
  3. ^ a b c d e Shankland, Stephen (30 November 2020). «Google gets web allies by letting outsiders help build Chrome’s foundation». CNET. Retrieved 27 April 2021.
  4. ^ a b c d e f «Chromium — Language Breakdown». Open Hub. Retrieved 15 October 2021.
  5. ^ a b c «Chromium coding style». Google Open Source. Google Source. Retrieved 22 April 2021.
  6. ^ a b «Web Platform Tests». Chromium repository. Retrieved 27 April 2021.
  7. ^ a b «BSD license». Chromium repository. Retrieved 27 April 2021.
  8. ^ a b «Chromium Terms and Conditions». Google Code. 2 September 2008. Archived from the original on 22 October 2008. Retrieved 27 April 2021.
  9. ^ a b «Notes on Chromium». Woolyss. Retrieved 3 April 2021.
  10. ^ Murphy, Glen (18 December 2012). «Why is Google Chrome browser named as Chrome?». Retrieved 6 July 2020.
  11. ^ a b «Chromium sync Google API removed». 24 January 2021. Retrieved 20 March 2021.
  12. ^ «Google Chrome Terms of Service». www.google.com. Retrieved 26 September 2017.
  13. ^ «The Chromium Projects». Google. Retrieved 28 April 2021.
  14. ^ «third_party — chromium/src.git — Git at Google». Chromium repository. Retrieved 27 April 2021.
  15. ^ Jansens, Dana (12 January 2023). «Supporting the Use of Rust in the Chromium Project». Google Online Security Blog. Archived from the original on 13 January 2023. Retrieved 13 January 2023.
  16. ^ «Status of Rust in Chromium». Retrieved 23 September 2023. The Rust toolchain is still experimental and breaks frequently, but it is behind an off-by-default GN argument, so this does not affect our bots or developers.
  17. ^ «Chromium bug tracking system». Retrieved 28 April 2021.
  18. ^ «Tour of the Chromium Continuous Integration Console». Retrieved 26 April 2021.
  19. ^ Frysinger, Mike (14 March 2014). «Version Numbers». The Chromium Projects. Retrieved 1 May 2015.
  20. ^ LaForge, Anthony (16 December 2010). «Chrome Release Cycle -12/16/2010». Google Slides. Retrieved 1 May 2015.
  21. ^ Paul, Ryan (September 2008). «Google unveils Chrome source code and Linux port». Retrieved 19 June 2010.
  22. ^ Paul, Ryan (December 2008). «Google releases Chrome 1.0». Retrieved 19 June 2010.
  23. ^ «1397 — Master password is missing». bugs.chromium.org. March 2011. Retrieved 29 March 2011.
  24. ^ «812 — Profile/login support». bugs.chromium.org. March 2011. Retrieved 29 March 2011.
  25. ^ Paul, Ryan (May 2009). «Hands on: Google Chromium browser alpha for Linux». Retrieved 20 June 2010.
  26. ^ Paul, Ryan (June 2009). «Google releases Chrome preview for Mac OS X and Linux». Retrieved 20 June 2010.
  27. ^ Paul, Ryan (July 2009). «Google Chromium gains native theming support on Linux». Retrieved 20 June 2010.
  28. ^ Smith, Mike and Karen Grunberg (June 2009). «Danger: Mac and Linux builds available». Retrieved 22 June 2010.
  29. ^ Paul, Ryan (September 2009). «Chrome 3 out, JavaScript performance increased 150% since v1». Retrieved 20 June 2010.
  30. ^ «User Experience». Chromium Developer Documentation. dev.chromium.org. 2009. Retrieved 5 July 2009.
  31. ^ Sneddon, Joey-Elijah (July 2010). «Chromium’s Unified Menu Comes to Daily Builds». Archived from the original on 15 August 2010. Retrieved 15 July 2010.
  32. ^ Gruener, Wolfgang (July 2010). «Overview: Chrome 6, The Naked Browser». Archived from the original on 6 April 2012. Retrieved 14 July 2010.
  33. ^ Nakano, Chelsi (August 2010). «Chromium 7 Has Arrived and It’s Not that Awesome». Retrieved 20 August 2010.
  34. ^ Gruener, Wolfgang (August 2010). «First Look: Google Increases Graphics Performance With Chrome 7». Archived from the original on 24 July 2012. Retrieved 20 August 2010.
  35. ^ a b Gruener, Wolfgang (October 2010). «A Preview of Chrome 8: Clouds Ahead». Conceivably Tech. Archived from the original on 24 July 2012. Retrieved 14 October 2010.
  36. ^ Bakke, Kurt (November 2010). «Google’s Next Big Browser Play: Prerendering and False Start?». Conceivably Tech. Archived from the original on 24 July 2012. Retrieved 23 October 2010.
  37. ^ Schuh, Justin and Carlos Pizano (December 2010). «Rolling out a sandbox for Adobe Flash Player». Chromium Blog. Retrieved 1 December 2010.
  38. ^ Gruener, Wolfgang (February 2011). «Chrome 9 and 11: Instant Search, More Speed». Conceivably Tech. Archived from the original on 18 October 2012. Retrieved 6 February 2011.
  39. ^ Protalinski, Emil (16 March 2011). «Google Chrome and Chromium to get new logos». Conceivably Tech. Retrieved 10 December 2017.
  40. ^ Gruener, Wolfgang (February 2011). «Google May Kill Chrome URL Bar». Conceivably Tech. Archived from the original on 26 March 2013. Retrieved 6 February 2011.
  41. ^ Gruener, Wolfgang (August 2011). «Google Shelves Hidden Location Bar». Conceivably Tech. Archived from the original on 6 April 2012. Retrieved 9 August 2011.
  42. ^ Gruener, Wolfgang (March 2011). «Google Chrome in 2011: The Biggest Loser?». Archived from the original on 18 August 2012. Retrieved 27 March 2011.
  43. ^ Shankland, Stephen (March 2011). «Google working to reverse Chrome bloat». Retrieved 27 March 2011.
  44. ^ Gruener, Wolfgang (April 2011). «Google Preps Huge UI Update For Chrome». Conceivably Tech. Archived from the original on 6 April 2012. Retrieved 20 April 2011.
  45. ^ Paul, Ryan (June 2011). «Chrome 12 arrives with security, rendering improvements». Ars Technica. Retrieved 12 June 2011.
  46. ^ Bailey, Dan (May 2011). «Google Trims Fat From Chrome». Conceivably Tech. Archived from the original on 6 April 2012. Retrieved 5 May 2011.
  47. ^ Paul, Ryan (May 2011). «Chrome 13 introduces experimental hidden nav bar option». Ars Technica. Retrieved 19 May 2011.
  48. ^ Gruener, Wolfgang (May 2011). «Google Is Serious: You Can Kill Chrome’s URL Bar». Conceivably Tech. Archived from the original on 19 April 2012. Retrieved 19 May 2011.
  49. ^ Bailey, Dan (June 2011). «No More Updates For Firefox 4, Chromium 14 Released». Conceivably Tech. Archived from the original on 6 April 2012. Retrieved 3 June 2011.
  50. ^ Paul, Ryan (September 2011). «Chrome 14 arrives with improved Lion support and NaCl». Ars Technica. Retrieved 20 September 2011.
  51. ^ Bailey, Dan (September 2011). «3D Web Browsing Sneaks into Google Chrome». Conceivably Tech. Archived from the original on 18 August 2012. Retrieved 19 September 2011.
  52. ^ Bailey, Dan (September 2011). «Google To Switch Chromium For Mac Graphics to Skia». Conceivably Tech. Archived from the original on 16 June 2012. Retrieved 19 September 2011.
  53. ^ Mathias, Raz (15 May 2012). «Keeping tabs on your tabs». Retrieved 15 May 2012.
  54. ^ Paul, Ryan (16 May 2012). «Hands-on with the new tab synchronization feature in Chrome 19». Ars Technica. Retrieved 19 May 2012.
  55. ^ Grunberg, Karen (31 July 2012). «Stable Channel Release». Retrieved 31 July 2012.
  56. ^ Paul, Ryan (31 July 2012). «Chrome 21 launches with webcam API and retina Mac support». Ars Technica. Retrieved 15 August 2012.
  57. ^ Grunberg, Karen (6 November 2012). «Stable Channel Release and Beta Channel Update 23.0.1271.64». Google. Retrieved 6 November 2012.
  58. ^ «Issue 11125002: Add QuicFramer and friends. — Code Review». chromiumcodereview.appspot.com. Retrieved 25 December 2020.
  59. ^ Barth, Adam (April 3, 2013). «Chromium Blog: Blink: A rendering engine for the Chromium project». Blog.chromium.org. Archived from the original on April 4, 2013. Retrieved June 14, 2013.
  60. ^ Bright, Peter (3 April 2013). «Google going its own way, forking WebKit rendering engine». Ars Technica. Conde Nast. Retrieved 9 March 2017.
  61. ^ Cho, Eddie (20 August 2013). «Chrome 29 adds a reset button». CNET. Archived from the original on 8 April 2014. Retrieved 8 April 2014.
  62. ^ Grunberg, Karen and Daniel Xie (14 January 2014). «Stable Channel Update». Google Chrome Release Notes. Retrieved 14 January 2014.
  63. ^ «Google Chrome Browser – New Material Design – 10 Years Anniversary». TehnoBlog.org.
  64. ^ Bradbury, Danny (6 December 2018). «Chrome 71 stomps on abusive advertising». Naked Security. Retrieved 7 December 2018.
  65. ^ «Limiting private API availability in Chromium». Retrieved 20 March 2021.
  66. ^ Rutland, David (3 February 2023). «Carbonyl Lets You Use a Graphical Web Browser in Your Linux Terminal». MUO. Retrieved 5 February 2023.
  67. ^ «Fire Drills and Proving a Point». CodeWeavers. 15 September 2008. Retrieved 2 May 2009.
  68. ^ «CrossOver Chromium». Archived from the original on 18 September 2008. Retrieved 18 September 2008.
  69. ^ «Comodo Dragon 46 is now available for download. — News/ Announcements/ Feedback — CD». comodo.com. Archived from the original on 13 June 2020. Retrieved 31 March 2017.
  70. ^ Comodo Group (2010). «Comodo Dragon Internet Browser». Retrieved 28 June 2010.
  71. ^ «Tech in Asia — Connecting Asia’s startup ecosystem». www.techinasia.com.
  72. ^ «StatCounter Global Stats — Browser, OS, Search Engine including Mobile Usage Share». StatCounter Global Stats.
  73. ^ «Cốc Cốc | Cốc Cốc ra mắt trình duyệt Internet riêng cho thị trường Việt Nam». Cốc Cốc Search Engine. Archived from the original on 30 July 2020. Retrieved 18 March 2021.
  74. ^ «FAQS». epic the privacy browser. Retrieved 31 December 2013.
  75. ^ a b «Qt WebEngine Overview — Qt WebEngine 5.11». doc.qt.io. Retrieved 21 October 2018.
  76. ^ Belfiore, Joe (15 January 2020), New year, new browser – The new Microsoft Edge is out of preview and now available for download, Microsoft
  77. ^ «Microsoft Edge and Chromium Open Source: Our Intent». Microsoft Edge Team. 6 December 2018. Retrieved 8 December 2018.
  78. ^ Lawson, Bruce (28 May 2013). «A first peek at Opera 15 for Computers». Opera Developer News. Archived from the original on 7 June 2013. Retrieved 24 November 2016.
  79. ^ processZ (产品经理) (15 July 2016). «360安全浏览器帮助中心». 360社区 (in Chinese). Retrieved 21 June 2017. 升级内核至Chromium 45 内核
  80. ^ «Frequently asked questions». qutebrowser.org.
  81. ^ Koch, Peter-Paul (11 October 2016). «What’s The Deal with the Samsung Internet Browser?». Smashing Magazine.
  82. ^ The Fenrir website. «The Sleipnir product web page». The luxury advanced web browser, with beautiful text ... Fenrir Inc. Archived from the original on 26 May 2016. Retrieved 12 March 2014.
  83. ^ «Chrome vs Iron». The SR Ware website. SR Ware; Stefan Ries. Retrieved 12 March 2014.
  84. ^ «GitHub — Eloston/ungoogled-chromium: Google Chromium, sans integration with Google». GitHub. Retrieved 13 August 2021.
  85. ^ «Home — Vivaldi Forum». vivaldi.net. Archived from the original on 11 January 2016. Retrieved 31 March 2017.
  86. ^ Williams, Owen (27 January 2015). «Meet Vivaldi, A New Browser From the Former CEO of Opera». thenextweb.com. Retrieved 31 March 2017.
  87. ^ «Yandex Browser — neat, convenient and smart». browser.yandex.com.
  88. ^ «How to install extensions to the mobile «Yandex.Browser» for Android». edwardsrailcar.com.
  89. ^ Conklin, Audrey (10 July 2020). «What is Gab.com?». Fox Business. Archived from the original on 8 August 2020. Retrieved 9 August 2020.
  90. ^ Iedtke, Michael (16 June 2010). «Flock Browser Gets Faster, Friendlier With Upgrade». ABC. Retrieved 17 June 2010.
  91. ^ Sneddon, Joey (April 2011). «End of the line for Flock social browser». OMG Ubuntu. Retrieved 15 April 2011.
  92. ^ Dai, Sarah (17 August 2018). «Redcore CEO admits ‘100pc China-developed browser’ is built on Google’s Chrome, says writing code from scratch would ‘take many years’«. South China Morning Post. Archived from the original on 17 August 2018. Retrieved 17 August 2018.
  93. ^ Duncan, Geoff (2010). «RockMelt browser builds in social tools». Retrieved 27 November 2010.
  94. ^ «Rockmelt Blog». Archived from the original on 31 August 2013. Retrieved 16 July 2013.
  95. ^ Dredge, Stuart (5 August 2013). «Yahoo buys social web-browser startup Rockmelt but shuts down its apps | Technology». theguardian. Retrieved 3 November 2013.
  96. ^ Serea, Razvan Mihai Asmanow (2012). «Torch Browser: Fast web browser, BitTorrent client and video downloader».

External links[edit]

  • Official website Edit this at Wikidata

Chromium
для Windows

Chromium скриншот № 1

Chromium — кроссплатформенный браузер с открытым исходным кодом, который стал «прародителем» таких обозревателей, как Google Chrome, ChromePlus, SRWare Iron, RockMelt и др. Разработчики заявляют о нем, как об одном из самых быстрых, безопасных и надёжных инструментов для доступа в Интернет.

Основанный на свободном движке WebKit, обеспечивающий высокую скорость рендеринга, и движке V8, который отвечает за обработку JavaScript. В Chromium встроен компонент Safe Browsing, обеспечивающий защиту от фишинга и вредоносного ПО, который при желании может быть отключен в настройках браузера.

Также следует отметить, что функционал браузера может быть значительно расширен, за счет использования расширений и плагинов. Программа не требует установки.

ТОП-сегодня раздела «Браузеры»

скачать Tor BrowserTor Browser 12.5.6

Предоставляет надежную защиту персональной информации и конфиденциальности, которая…

скачать Opera GXOpera GX 102.0.4880.90

Браузер, позиционируемый как «игровой», от компании Opera. Приложение получило стандартную…

скачать OperaOpera 103.0.4928.16

Opera — популярнейший браузер, который снабжен всеми необходимыми возможностями для удобной…

скачать Яндекс.БраузерЯндекс.Браузер 23.7.5

Простой на первый взгляд браузер от компании Яндекс, который тем не менее обладает всеми…

Отзывы о программе Chromium

VikVanLee про Chromium 105.0.5168.0 [08-07-2022]

При запуске Аваст ругается, пишет, что найдена угроза IDP.Generic. Кто-нибудь знает, что это? Игнорировать или лучше не запускать браузер?
3 | 16 | Ответить

Балыкши про Chromium 87.0.4297.0 [21-10-2020]

Скачал и не запускается она на моей Винде ХР SP 3. Пишет «Выполнение программы завершено после нажатия клавиш Ctrl+C»
12 | 9 | Ответить

Алексей в ответ Балыкши про Chromium 92.0.4478.0 [22-04-2021]

Последняя версия для XP это 49
9 | 7 | Ответить

Петек в ответ Балыкши про Chromium 92.0.4506.0 [17-05-2021]

Начиная с версии 50, Chromium недоступен для XP и Vista Последняя стабильная версия — 49.0.2623.112
11 | 5 | Ответить

Александр про Chromium 81.0.4039.0 [01-06-2020]

Только что установил. Сделал это потому, что после чистки Яндекс-броузера, его десятков папок — что-то там сломалось. И теперь он долго думает и не все показывает. К моему удивлению Хромиум не требовал никакой установки. Просто надо распаковать. У меня 10-й виндоуз, 64. И еще великолепно, что не формируются никаких дурацких директорий типа Роуминг и т.п. При этом все работает!!! Поразительно!
17 | 10 | Ответить

сосо про Chromium 77.0.3865.0 [25-01-2020]

Откуда 77, 71 последняя
8 | 9 | Ответить

Хакер ламер про Chromium 77.0.3825.0 [23-06-2019]

Попробую.А то хром не поддерживает винды хп.
14 | 11 | Ответить

Vbrc в ответ Хакер ламер про Chromium 85.0.4162.0 [11-06-2020]

Лису 52 поставь,у нее свои сертификаты,она нормально работает на XP.
14 | 3 | Ответить

Содержание

  1. Описание браузера
  2. Функционал
  3. Плюсы и минусы
  4. Преимущества
  5. Недостатки
  6. Инструкция по установке
  7. Как удалить браузер
  8. Системные требования
  9. Отзывы пользователей о браузере Chromium
  10. Подведем итог

Chromium – это бесплатный браузер, используемый для серфинга в сети. Системные требования – средние, при этом качество проработки функционала и системы безопасности достаточно высокое. После установки приложение запустится автоматически, без необходимости проведения регистрации или указания личных конфиденциальных данных.

На нашем сайте предоставляется возможность скачать браузер Chromium бесплатно без ограничений. Процесс занимает всего пару минут при средних показателях скорости интернета.

Описание браузера

Основными положительными моментами в использовании Chromium является простота управления, а также большое количество функциональных возможностей, которые можно будет полноценно использовать. Браузер способен выполнять самые разные задачи, причем одновременно без вероятности появления зависаний и проблем в работе.

Chromium создавался на открытом коде, чтобы потенциальным пользователям был предоставлен достаточно качественный современный продукт, который отвечает всем основным требованиям навигации. Стоит непосредственно скачать последнюю версию Chromium, так как она является наиболее проработанной и качественной.

Многие браузеры, которые сегодня активно используются владельцами персональных компьютеров (например, один из наиболее известных вариантов – Гугл Хром), стали создаваться именно на базе Chromium. Большинство проектов, разрабатываемы на основании подобной задумки, были реализованы достаточно качественно, в то время как иные оказались провальными и даже не были представлены пользователям.

Получается, что именно Chromium – это первый наиболее востребованный и распространенный браузер, который стал родоначальником всех остальных предложений, представленных на сегодняшний день в сети.

Работает Chromium достаточно качественно, управление сделано понятным образом, однако функциональных возможностей не так много, как в более современных предложениях (но есть все, что может потребоваться для обычного использования интернета). Конечно, этот недостаток является решаемым, ведь сегодня можно без особых проблем произвести установку расширений для браузера, которые представлены в большом ассортименте.

Функционал

Управление и особенности оформления Chromium могут показаться крайне знакомыми потенциальным пользователям, и это совершенно неудивительно при учете того, что подобный вариант оформление практически полностью скопировала компания Гугл. При этом Chromium имеет немалое количество положительных особенностей в своем функционале. Так, например, в нем имеется встроенная система, которая защищает пользователей от воздействия вредоносных программных обеспечений, которые достаточно часто попадаются при активном использовании браузера. Также у Хромиум имеется собственная база, в котором собираются данные о потенциально опасных ПО, способных нанести вред персональному компьютеру.

Однако стоит учитывать факт того, что функциональные возможности данной утилиты несколько ограничены. Так, она не поддерживает работу с Flash и PDF, а потому в том случае, если планируется работа с данными типами файлов, потребуется произвести установку дополнительного браузера.

Зато Chromium может похвастаться достаточно высоким качеством защиты данных своих пользователей – он не передает информацию на сторонние платформы, другие браузеры, а также качественно шифрует всю информацию, вследствие чего вероятность утечки данных полностью исключается. Именно поэтому те пользователи, для которых большое значение имеет анонимность во время серфинга в сети, отдают предпочтение именно этому приложению.

Плюсы и минусы

На самом деле, особенностей у браузера Chromium достаточно много, а потому стоит рассмотреть только ключевые моменты, которые имеют значение для абсолютного большинства потенциальных пользователей.

Преимущества

Среди положительных моментов в использовании браузера стоит выделить:

  • Высокую скорость работы с Джава Скрпит.
  • Отличные показатели производительности данного браузера.
  • Возможность работы не только с файлами в 2Д варианте, но и с тем контентом, который выполнен в трехмерном пространстве.
  • Повышенные показатели безопасности использования возможностей сети, а также полная конфиденциальность данных пользователя.
  • Стабильность в работе Chromium, которая обеспечивает быструю обработку созданных запросов, а также позволяет использовать большое количество расширений без вероятности появления зависаний.
  • Chromium отлично работает с расширениями иных браузеров, вследствие чего пользователь может произвести настройку функциональных возможностей утилиты под свои требования и потребности.

Недостатки

Из отрицательных моментов, единственным, на который стоит обратить свое внимание, является использование большего количества оперативной памяти на фоне иных современных вариантов браузеров. Однако этот недостаток оказывается незначительным, так как современные ПК имеют куда более лучшие характеристики, чем того требует браузер.

Инструкция по установке

Процесс установки требует проведения определенной последовательности действий, состоящей из следующих шагов:

  • Скачать Браузер Хромиум на русском языке. Провести этот пункт можно будет на нашей официальной странице посредством нажатия на соответствующую кнопку. Стоит отметить, что предполагается скачивание непосредственно установочного зип-файла, с которым потребуется провести несколько действий для получения рабочего браузера. Скачивание уже готового приложения как на мобильном устройстве не осуществляется.
  • Дождаться окончания процесса скачивания файла. При средней скорости на этот процесс требуется всего пара минут.
  • Произвести открытие меню работы с зип-файлом посредством двойного нажатия на него. Скачанный файл располагается в папке загрузок.
  • После появления на экране соответствующего окна останется только осуществить распаковку файла, то есть непосредственно установить браузер. Тут пользователю предоставляется возможность выбора приоритетного места расположения файла (стандартным местом является рабочий стол).

После окончания процесса установки файла будет осуществлено его открытие в автоматическом режиме. Пользователь тут же может начать использовать все встроенные функциональные возможности, без необходимости прохождения регистрации. Также сразу можно будет внести определенные изменения в настройки, чтобы откорректировать работу приложения под свои потребности и пожелания.

Как удалить браузер

Процесс удаления браузера не отличается сложностью. Для того чтобы его осуществить, необходимо будет просто осуществить удаление папки Chromium, которая была создана после распаковки архива в процессе установки. Остается только очистить корзину на персональном компьютере.

Системные требования

Для того чтобы браузер Хромиум для Виндовс 7, 8, 10 работал достаточно качественно на персональном компьютере, требуется обратить внимание на список системных характеристик, которые являются минимальными:

  • Процессор должен иметь частоту от 2100МГц.
  • Оперативной памяти на устройстве должно быть не менее 512 Мб.
  • Для установки браузера Chromium потребуется наличие 220 Мб свободной памяти (при этом свободная память должна оставаться на ПК и после установки браузера, так как само по себе перегруженное устройство будет зависать, и работать менее качественно).
  • Видеокарта должна иметь память от 128 Мб.

Стоит отметить, что прописаны именно минимальные системные требования, которые обязательно должны быть соблюдены на персональном компьютере для установки и использования Chromium. Допускается наличие лучших характеристик, и с ними качество работы браузера станет несколько выше.

Отзывы пользователей о браузере Chromium

Подведем итог

Скачать браузер Chromium бесплатно предоставляется возможность на нашей странице без необходимости проведения регистрации и выполнения любых иных следующих действий. Браузер работает достаточно качественно, а его функционал может быть расширен за счет использования разнообразных расширений, представленных в сети.

picture of a web browser window with wings, flying

Sections

  • Getting Involved: learn how you can help the
    Chromium project
  • For Developers: design docs, how-tos, and other
    useful information for developers
  • For Testers: bug reporting guidelines, test plans,
    and other quality-related documentation
  • User Experience: the design philosophy behind
    many of Chromium’s features
  • Issue Tracking: process documentation related to
    issue tracking and management
  • Contact: report a bug or a security issue, or get in
    touch with individual members of the team
  • Security: learn about Chromium security,
    and how to contact us or get involved
  • Privacy: information about Chromium
    privacy, how to get more information, and how to contact us
  • Events: information about Chromium events

Life Of A Chromium Developer

Interested but don’t know where to start? Need a quick crash course on Chromium
development? Take a look through the Life Of A Chromium
Developer
slide deck:

Время на прочтение
8 мин

Количество просмотров 33K

Большинство людей привыкли, что Chromium — это и браузер, и основа для других браузеров. До недавнего времени я тоже так думал, но, изучая эту тему уже пару месяцев, я начал открывать другой дивный мир. Chromium — это огромная экосистема, в которой есть всё: и система зависимостей, и система кроссплатформенной сборки, и компоненты почти на все случаи жизни. Так почему же не попробовать создавать свои приложения, используя всю эту мощь?

Под катом небольшое руководство, как начать это делать.

Подготовка окружения

В статье я буду использовать Ubuntu 18.04, порядок действий для других ОС можно посмотреть в документации:

  • Linux
  • Windows
  • Mac

Для выполнения последующих шагов необходимы Git и Python. Если они не установлены, то их необходимо поставить с помощью команды:

sudo apt install git python

Установка depot_tools

depot_tools — это набор инструментов для разработки Chromium. Для его установки необходимо выполнить:

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

И добавить путь в переменную окружения PATH:

export PATH="$PATH:/path/to/depot_tools"

Важно: если depot_tools были скачаны в домашнюю папку, то не используйте ~ в переменной PATH, иначе могут возникнуть проблемы. Необходимо использовать переменную $HOME:

export PATH="$PATH:${HOME}/depot_tools"

Получение кода

Для начала надо создать папку для исходников. Например, в домашней директории (необходимо около 30 Гб свободного места):

mkdir ~/chromium && cd ~/chromium

После этого можно скачать исходники с помощью утилиты fetch из depot_tools:

fetch --nohooks --no-history chromium

Теперь можно пойти попить чай/кофе, так как процедура небыстрая. Для экспериментов история не нужна, поэтому используется флаг --no-history. С историей будет ещё дольше.

Установка зависимостей

Все исходники лежат в папке src, идём в неё:

cd src

Теперь нужно поставить все зависимости с помощью скрипта:

./build/install-build-deps.sh

И запустить хуки:

gclient runhooks

На этом подготовка окружения завершена.

Система сборки

В качестве основной системы сборки Chromium используется Ninja, а утилита GN применяется для генерирования .ninja-файлов.

Чтобы понять, как пользоваться этими инструментами, предлагаю создать тестовую утилиту example. Для этого в папке src надо создать подпапку example:

mkdir example

Затем в папке src/example надо создать файл BUILD.gn, который содержит:

executable("example") {
 sources = [
   "example.cc",
 ]
}

BUILD.gn состоит из цели (исполняемого файла example) и списка файлов, которые необходимы для сборки цели.

Следующим шагом надо создать сам файл example.cc. Для начала предлагаю сделать классическое приложение «Hello world»:

#include <iostream>

int main(int argc, char **argv) {
   std::cout << "Hello world" << std::endl;

   return 0;
}

Исходный код можно найти на GitHub.

Чтобы GN узнала о новом проекте, нужно в файле BUILD.gn, который находится в src, в разделе deps добавить строку "//example":

...
group("gn_all") {
 testonly = true

 deps = [
   ":gn_visibility",
   "//base:base_perftests",
   "//base:base_unittests",
   "//base/util:base_util_unittests",
   "//chrome/installer",
   "//chrome/updater",
   "//net:net_unittests",
   "//services:services_unittests",
   "//services/service_manager/public/cpp",
   "//skia:skia_unittests",
   "//sql:sql_unittests",
   "//third_party/flatbuffers:flatbuffers_unittests",
   "//tools/binary_size:binary_size_trybot_py",
   "//tools/ipc_fuzzer:ipc_fuzzer_all",
   "//tools/metrics:metrics_metadata",
   "//ui/base:ui_base_unittests",
   "//ui/gfx:gfx_unittests",
   "//url:url_unittests",

   # ↓↓↓↓↓↓↓↓
   "//example",
 ]
 ...

Теперь необходимо вернуться в папку src и сгенерировать проект с помощью команды:

gn gen out/Default

GN также позволяет подготовить проект для одной из поддерживаемых IDE:

  • eclipse
  • vs
  • vs2013
  • vs2015
  • vs2017
  • vs2019
  • xcode
  • qtcreator
  • json

Более подробную информацию можно получить с помощью команды:

gn help gen

Например, для работы с проектом example в QtCreator надо выполнить команду:

gn gen --ide=qtcreator --root-target=example out/Default

После этого можно открыть проект в QtCreator:

qtcreator out/Default/qtcreator_project/all.creator

Финальный шаг — сборка проекта с помощью Ninja:

autoninja -C out/Default example

На этом краткое ознакомление с системой сборки можно завершить.

Приложение можно запустить с помощью команды:

./out/Default/example

И увидеть Hello world. На самом деле, про систему сборки в Chromium можно написать отдельную статью. Возможно, и не одну.

Работа с командной строкой

В качестве первого примера использования кодовой базы Chromium как фреймворка предлагаю поиграться с командной строкой.

Задача: вывести на экран все аргументы, переданные приложению в стиле Chromium.
Для работы с командной строкой необходимо в example.cc подключить заголовочный файл:

#include "base/command_line.h"

А также надо не забыть в BUILD.gn добавить зависимость от проекта base. BUILD.gn должен выглядеть так:

executable("example") {
 sources = [
   "example.cc",
 ]

 deps = [
   "//base",
 ]
}

Теперь всё необходимое будет подключено к example.

Для работы с командной строкой Chromium предоставляет синглтон base::CommandLine. Чтобы получить ссылку на него, надо использовать статический метод base::CommandLine::ForCurrentProcess, но сначала надо его инициализировать с помощью метода base::CommandLine::Init:

base::CommandLine::Init(argc, argv);

auto *cmd_line = base::CommandLine::ForCurrentProcess();

Все аргументы, переданные приложению в командной строке и начинающиеся с символа - возвращаются в виде base::SwitchMap (по сути, map<string, string>) с помощью метода GetSwitches. Все остальные аргументы возвращаются в виде base::StringVector (по сути, vectоr<striпg>). Этих знаний достаточно, чтобы реализовать код для задачи:

for (const auto &sw : cmd_line->GetSwitches()) {
   std::cout << "Switch " << sw.first << ": " << sw.second << std::endl;
}

for (const auto &arg: cmd_line->GetArgs()) {
   std::cout << "Arg " << arg << std::endl;
}

Полную версию можно найти на GitHub.

Чтобы собрать и запустить приложение надо выполнить:

autoninja -C out/Default example
./out/Default/example arg1 --sw1=val1 --sw2 arg2

На экран будет выведено:

Switch sw1: val1
Switch sw2:
Arg arg1
Arg arg2

Работа с сетью

В качестве второго и последнего на сегодня примера предлагаю поработать с сетевой частью Chromium.

Задача: вывести на экран содержимое URL’а, переданного в качестве аргумента.

Сетевая подсистема Chromium

Сетевая подсистема довольно большая и сложная. Входной точкой для запросов к HTTP, HTTPS, FTP и другим data-ресурсам является URLRequest, который уже определяет, какой из клиентов задействовать. Упрощённая схема выглядит так:

Полную версию можно посмотреть в документации.

Для создания URLRequest‘а необходимо использовать URLRequestContext. Создание контекста — довольно сложная операция, поэтому рекомендуется использовать URLRequestContextBuilder. Он проинициализирует все необходимые переменные значениями по умолчанию, но, при желании, их можно поменять на свои, например:

net::URLRequestContextBuilder context_builder;

context_builder.DisableHttpCache();
context_builder.SetSpdyAndQuicEnabled(true /* http2 */, false /* quic */);
context_builder.SetCookieStore(nullptr);

Многопоточность

Сетевой стек Chromium расчитан на работу в многопоточной среде, поэтому пропустить эту тему нельзя. Базовыми объектами для работы с многопоточностью в Chromium являются:

  • Task — задача для выполнения, в Chromium это функция с типом base::Callback, которую можно создать с помощью base::Bind.
  • Task queue — очередь задач для выполнения.
  • Physical thread — кроссплатформенная обёртка над потоком операционной системы (pthread в POSIX или CreateThread() в Windows). Реализовано в классе base::PlatformThread, не используйте напрямую.
  • base::Thread — реальный поток, который бесконечно обрабатывает сообщения из выделенной очереди задач; не рекомендуется создавать их напрямую.
  • Thread pool — пул потоков с общей очередью задач. Реализован в классе base::ThreadPool. Как правило, создают один экземпляр. Задачи в него отправляются с помощью функций из base/task/post_task.h.
  • Sequence or Virtual thread — виртуальный поток, который использует реальные потоки и может переключаться между ними.
  • Task runner — интерфейс для постановки задач, реализован в классе base::TaskRunner.
  • Sequenced task runner — интерфейс для постановки задач, который гарантирует, что задачи будут исполнены в том же порядке, в каком пришли. Реализовано в классе base::SequencedTaskRunner.
  • Single-thread task runner — аналогичен предыдущему, но гарантирует, что все задачи будут выполнены в одном потоке ОС. Реализовано в классе base::SingleThreadTaskRunner.

Реализация

Некоторые компоненты Chromium требуют наличия base::AtExitManager — это класс, позволяющий зарегистрировать операции, которые надо выполнить при завершении приложения. Использовать его очень просто, необходимо в стеке создать объект:

base::AtExitManager exit_manager;

Когда exit_manager выйдет из области видимости, все зарегистрированные callback’и будут выполнены.

Теперь нужно позаботиться о наличии всех необходимых компонентов многопоточности для сетевой подсистемы. Для этого нужно создать Thread pool, Message loop с типом TYPE_IO для обработки сетевых сообщений, и Run loop — основной цикл программы:

base::ThreadPool::CreateAndStartWithDefaultParams("downloader");
  
base::MessageLoop msg_loop(base::MessageLoop::TYPE_IO);
base::RunLoop run_loop;

Дальше нужно с помощью Context builder‘а создать Context:

auto ctx = net::URLRequestContextBuilder().Build();

Чтобы послать запрос, необходимо с помощью метода CreateRequest объекта ctx создать объект URLRequest. В качестве параметров передаются:

  • URL, строка с типом GURL;
  • приоритет;
  • делегат, который обрабатывает события.

Делегат представляет собой класс, реализующий интерфейс net::URLRequest::Delegate. Для данной задачи он может выглядеть так:

class MyDelegate : public net::URLRequest::Delegate {
public:
   explicit MyDelegate(base::Closure quit_closure) : quit_closure_(std::move(quit_closure)),
                                                     buf_(base::MakeRefCounted<net::IOBuffer>(BUF_SZ)) {}

   void OnReceivedRedirect(net::URLRequest *request, const net::RedirectInfo &redirect_info,
                           bool *defer_redirect) override {
       std::cerr << "redirect to " << redirect_info.new_url << std::endl;
   }

  void OnAuthRequired(net::URLRequest* request, const net::AuthChallengeInfo& auth_info) override {
       std::cerr << "auth req" << std::endl;
   }

   void OnCertificateRequested(net::URLRequest *request, net::SSLCertRequestInfo *cert_request_info) override {
       std::cerr << "cert req" << std::endl;
   }

   void OnSSLCertificateError(net::URLRequest* request, int net_error, const net::SSLInfo& ssl_info, bool fatal) override {
       std::cerr << "cert err" << std::endl;
   }

   void OnResponseStarted(net::URLRequest *request, int net_error) override {
       std::cerr << "resp started" << std::endl;
       while (true) {
           auto n = request->Read(buf_.get(), BUF_SZ);
           std::cerr << "resp read " << n << std::endl;

           if (n == net::ERR_IO_PENDING)
               return;

           if (n <= 0) {
               OnReadCompleted(request, n);
               return;
           }

           std::cout << std::string(buf_->data(), n) << std::endl;
       }
   }
   void OnReadCompleted(net::URLRequest *request, int bytes_read) override {
       std::cerr << "completed" << std::endl;
       quit_closure_.Run();
   }

private:
   base::Closure quit_closure_;
   scoped_refptr<net::IOBuffer> buf_;
};

Вся основная логика находится в обработчике события OnResponseStarted: содержимое ответа вычитывается, пока не произойдёт ошибка или будет нечего читать. Так как после чтения ответа нужно завершить приложение, то делегат должен иметь доступ к функции, которая прервёт основной Run loop, в данном случае используется callback типа base::Closure.

Теперь всё готово для отправки запроса:

MyDelegate delegate(run_loop.QuitClosure());

auto req = ctx->CreateRequest(GURL(args[0]), net::RequestPriority::DEFAULT_PRIORITY, &delegate);
req->Start();

Чтобы запрос начал обрабатываться, надо запустить Run loop:

run_loop.Run();

Полную версию можно найти на GitHub.

Чтобы собрать и запустить приложение нужно выполнить:

autoninja -C out/Default example
out/Default/example "https://example.com/"

Финал

На самом деле, в Chromium можно найти много полезных кубиков и кирпичиков, из которых можно строить приложения. Он постоянно развивается, что, с одной стороны, является плюсом, а с другой стороны, регулярные изменения API не дают расслабиться. Например, в последнем релизе base::TaskScheduler превратился в base::ThreadPool, к счастью, без изменения API.

P.S. Мы ищем ведущего программиста на C++ в свою команду! Если чувствуете в себе силы, то наши пожелания описаны тут: team.mail.ru/vacancy/4641/. Там же есть кнопка «Откликнуться».

  • Chromium gost скачать бесплатно браузер для windows
  • Chrome msi скачать для windows 10
  • Chrome скачать для windows 10 pro x64
  • Chromium gost не устанавливается windows 7
  • Chrome exe скачать бесплатно для windows