| Chromium | |
|---|---|
| Original author | Google[1] |
| Developers | The Chromium Projects,[2] controlled by Google[3] |
| Release | 2 September 2008 (2008-09-02)[1] |
| Written in | C++ primarily,[4]HTML, CSS, JavaScript for UI and test suite[5][6] |
| Engines | V8, Blink (WebKit on iOS/iPadOS)[7] |
| Operating system |
|
| Platform | IA-32, x86-64, ARM, ARM64 |
| License | LGPL, BSD-3 and others[8][9] |
| Website | chromium |
| Repository |
|
Chromium is a free and open-sourceweb 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, Opera, Vivaldi, Brave, Samsung Browser and Ungoogled Chromium. The code is also used by several app frameworks.
Chromium is a free and open-source software project. Owing to its origins in the WebKit project, Chromium incorporates code subject to a variety of licenses, including LGPL, MIT, Ms-PL, and MPL (with the MPL/GPL/LGPL tri-license clause).[9] Original Google-authored portions and some portions written by Apple are shared under the 3-clause BSD license.[8]
This licensing permits any party to build the codebase and share the resulting browserexecutable with the Chromium name and logo. Thus many Linux distributions do this, as well as FreeBSD and OpenBSD.[10] Chromium also forms the basis of Electron, which in turn is used for many commercial and proprietary cross-platform applications, such as Slack.
Many Chromium-based browsers, such as Google Chrome and Microsoft Edge, include the proprietary components, such as proprietary wrapper libraries for hardware acceleration.[11]
Chromium provides the vast majority of source code for Google Chrome, but there are important differences.
Chromium lacks the following Chrome features:[10]
Google first chose the name "Chrome" with intention to minimize chrome for its browser.[13] Then the open-source release was named "Chromium" because chromium metal is used to make chrome plating.[1]
Chrome has the same user interface functionality as Chromium, but with a Google-branded color scheme. Unlike Chromium, Chrome is not open-source; its binaries are licensed as freeware under the Google Chrome Terms of Service.[14]
The Chromium browser codebase contains over 36 million source lines of code, excluding comments and blank lines.[4]
Chromium has been a Google project since its inception,[1][3] and Google employees have done the bulk of the development work.[15]
Google はこのプロジェクトと派生プロジェクトであるChromiumOS を「Chromium プロジェクト」と呼んでおり[ 2 ]、従業員はこの開発作業に @chromium.org のメールアドレスを使用しています。しかし、ガバナンスの観点から見ると、Chromium プロジェクトは独立した組織ではなく、Google がそれらをしっかりと管理しています[ 3 ] 。
Chromiumブラウザのコードベースは広く使用されているため、Microsoft、Avast、Igalia、Yandex、Intel、Samsung、LG、Opera、Vivaldi、Braveなど、多くの企業が重要な貢献をしています。[ 15 ] [ 3 ]これらの企業の従業員の中には、@chromium.org のメールアドレスを持っている人もいます。
Google は最初のマルチプロセスブラウザを設計しました。[ 16 ] [ 17 ]シングル プロセス設計と比較して、このアーキテクチャは、多数のブラウザタブを開いたときの応答性が向上し、プロセス分離によるセキュリティ上の利点がありますが、メモリ使用量が増えるというトレードオフがあります。[ 18 ] [ 19 ]これは後にプロセスごとの Web サイト分離として改良され、セキュリティがさらに向上しました。[ 18 ]
もう一つの重要な設計上の決定は、ブラウザのユーザーインターフェースをミニマルにすることだった。[ 17 ] [ 20 ] [ 21 ]
ブラウザエンジンは当初、Googleが利用可能な選択肢の中で「当然の選択」と判断したAppleのWebKitをベースにしていた。 [ 22 ]しかし、Googleの斬新なマルチプロセス設計により、エンジンの変更が必要となった。Appleのバージョンとのこの相違は時間とともに大きくなり、2013年にGoogleはBlinkエンジンとして正式に独自のバージョンをフォークした。[ 22 ] [ 23 ]しかし、2025年現在、GoogleはBlinkエンジンをiOSに搭載する作業を続けており、実験的なコードを公開している。[ 24 ]
C++ is the primary language, comprising over half of the codebase.[4] This includes the Blink and V8engines, the implementation of HTTP and other protocols, the internal caching system, the extension API, and most of the user interface.[25]
The rest of the user interface, called the WebUI, is implemented in HTML, CSS, and JavaScript (usually via TypeScripttranspilation).[25][5] An extensive collection of web platform tests is also written in these languages plus XML.[6][4]
Third-party libraries that provide essential functionality,[26] such as SQLite and numerous codecs, are written in C, C++, or beginning in 2023,[27][28] the newer Rust language.[4]
Support for mobileoperating systems requires special languages: for Android both Java and Kotlin, and for iOS both Objective-C and Swift.[5][4]
Python is the main language of the build system,[4] which also has special configuration files for Google's GN tool.[29]
The bug tracking system is a publicly accessible website.[30] Participants are identified by their email addresses.
The Chromium continuous integration system automatically builds and tests the codebase several times a day.[31]
ビルドは、メジャー.マイナー.ビルド.パッチの4つの部分からなるバージョン番号で識別されます。 [ 32 ]このバージョン管理スキームと6~7週間ごとに発生する分岐点は、 Google Chromeとその開発サイクルに由来しています。[ 33 ]
Google Chromeは2008年9月にデビューし、そのリリースと同時にChromiumのソースコードも公開され、それを基にビルドを構築することが可能になった。[ 1 ] [ 34 ] [ 35 ]
Chromeはリリース時に、マスターパスワードによる保護なしにユーザーのパスワードを保存しているとして批判された。Googleは、マスターパスワードは知識のあるハッカーに対しては実際にはセキュリティを提供しないと主張したが、ユーザーは、同僚や家族がコンピュータを借りて保存されたパスワードを平文で閲覧できるのを防ぐことができると主張した。[ 36 ] 2009年12月、Chromium開発者のP. Kastingは次のように述べた。「マスターパスワードは課題1397でした。その課題は解決済みです。マスターパスワードは実装しません。今も、これからも。それを主張しても実現しません。『多くの人がそれを望んでいる』としても実現しません。私たちの設計上の決定は民主的ではありません。常に自分の望むものを手に入れることはできません。」[ 37 ]

バージョン 3 は、 Linuxで利用可能な最初のアルファ版でした。Chromium はすぐに、Linux 用のネイティブテーマを組み込み、GTK+ツールキットを使用してGNOMEデスクトップ環境に適合させました。[ 38 ] [ 39 ] [ 40 ] [ 41 ]バージョン 3 では、JavaScript エンジンの最適化とユーザーが選択可能なテーマも導入されました。[ 42 ]
バージョン 6 では、ユーザー インターフェースのミニマリズムのための機能が導入されました。これは、Google の目標の 1 つは、ブラウザを「(認知的にも物理的にも)軽量で高速に感じさせる」ことだったためです。[ 21 ]変更点は、ツール メニューの統合、ホーム ボタンのデフォルト無効化 (ただしユーザー設定可能)、再読み込み/停止ボタンの統合、ブックマーク バーのデフォルト無効化などです。また、統合PDFリーダー、HTML ビデオで使用するためのWebMおよびVP8サポート、よりスマートなURLバーも導入されました。[ 43 ] [ 44 ]
バージョン7では、ハードウェアアクセラレーションにより、パフォーマンスが以前のバージョンの2倍に向上しました。[ 45 ] [ 46 ] [ 47 ]
バージョン8では、ChromeOSへの統合の改善とクラウド機能の強化に重点が置かれました。これには、バックグラウンドWebアプリケーション、ホストリモート(ユーザーが他のコンピュータの機能や設定を一元的に制御できるようにする機能)、クラウド印刷などが含まれます。[ 47 ]
バージョン 9 では、フィッシング攻撃を検知するための URL バー機能やAdobe Flashプラグインのサンドボックス化など、多くの機能が導入されました。その他、WebGLライブラリや新しいChrome Web ストアへのアクセスも追加されました。[ 48 ] [ 49 ] [ 50 ]

2月、Googleは、Webの黎明期からブラウザの定番であったURLバーを少なくとも部分的に廃止するなど、大規模なユーザーインターフェース(UI)の変更を検討していると発表した。提案されたUIは、タブの行、ナビゲーションボタンの行、メニュー、URLバーを1行に統合するものであった。その根拠は、Webページコンテンツのための画面スペースをより多く確保することであった。Googleは、これによりURLが常にユーザーに見えるとは限らないこと、ナビゲーションコントロールやメニューが文脈を失う可能性があること、そして結果として1行になったURLバーが非常に混雑する可能性があることを認めた。 [ 52 ]しかし、8月までに、Googleはこれらの変更はリスクが高すぎると判断し、このアイデアを棚上げした。[ 53 ]
3月、Googleはプロジェクトの他の方向性を発表しました。開発の優先事項は、実行ファイルのサイズの縮小、Webアプリケーションとプラグインの統合、クラウドコンピューティング、タッチインターフェースのサポートに重点が置かれました。[ 54 ] [ 55 ]そのため、UIにマルチプロファイルボタンが導入され、ユーザーは同じブラウザインスタンスで複数のGoogleアカウントやその他のアカウントにログインできるようになりました。その他の追加機能としては、マルウェア検出とハードウェアアクセラレーションによるCSS変換のサポートがありました。[ 56 ] [ 57 ]
5月までに、GoogleによるChromiumのファイルサイズ削減の試みの結果がすでに注目され始めていた。この分野における初期の作業の多くは、WebKit、画像リサイズツール、およびAndroidビルドシステムのサイズの縮小に集中していた。[ 58 ]その後の作業では、UIの垂直方向のスペースを削減した、よりコンパクトなモバイル版が導入された。[ 59 ] [ 60 ]
2011年のその他の変更点としては、すべてのページでのGPUアクセラレーション、新しいWeb Audio APIのサポートの追加、サードパーティがプラットフォームに依存しないバイナリとして提供するネイティブコードをブラウザ内で安全に実行できるようにするGoogle Native Client(NaCl)などがありました。[ 61 ] [ 62 ]また、 GoogleのSkiaグラフィックスライブラリもすべてのChromiumバージョンで利用可能になりました。[ 63 ] [ 64 ]

2012 年に Google Chrome に追加された同期サービスは、Chromium ビルドでも使用できました。[ 65 ] [ 66 ]同年には、高品質のビデオおよびオーディオ通信用の新しいAPIが追加され、 Web アプリケーションが許可を求めた後、ユーザーのWeb カメラとマイクにアクセスできるようになりました。[ 67 ] [ 68 ]その後、Windows用のGPUアクセラレーションによるビデオ デコードとQUICプロトコルのサポートが追加されました。[ 69 ] [ 70 ]
2013年に、Chromiumの改良版WebKitレンダリングエンジンがBlinkエンジンとして正式にフォークされました。[ 22 ] [ 23 ]
2013年のその他の変更点としては、ユーザープロファイルのリセット機能と新しいブラウザ拡張機能APIが挙げられます。[ 71 ]また、オーディオとウェブカメラの使用状況を示すタブインジケーターが追加され、マルウェアとして検出されたファイルの自動ブロック機能も追加されました。[ 72 ]
バージョン67では、プロセスごとのWebサイト分離というセキュリティ上の利点が追加されました。[ 18 ]その後、バージョン69では、Google Chromeの10周年を記念して新しいブラウザテーマが導入されました。[ 73 ]同年には、悪質な広告を抑制するための新しい対策が追加されました。[ 74 ]
2021 年以降、Google Chrome の同期サービスは Chromium ビルドでは使用できなくなりました。[ 75 ] [ 12 ]また、バージョン 89 以降では、SSE3命令セット以降のIntelおよびAMDプロセッサのみがサポートされています。[ 76 ]
バージョン110以降、 Windowsユーザー向けにはWindows 10以降のみがサポートされます。[ 77 ]
Google Chrome、Microsoft Edge、Opera、Vivaldi、Braveに加えて、他にも多くのブラウザが活発に開発されており、Chromiumコードをベースにしています。これらのほとんどはChromeのようにプロプライエタリですが、 Chromiumのようにフリーでオープンソースソフトウェア(FOSS)のままのものもあります。[ 78 ] [ 79 ] [ 80 ] [ 81 ]
主に英語以外の言語
これらの注目すべきアプリフレームワークは、カスタムアプリの機能の中核としてChromiumブラウザを組み込んでいます。
Chromiumベースの代表的なWebViewコンポーネント2つも、同様の方法でアプリを作成できる。
どちらのアプローチでも、カスタムアプリはHTML、CSS、JavaScript、およびその他の Web テクノロジーを使用して実装されます。さらに、アプリはChromium がサポートするオペレーティングシステムに簡単にデプロイできます。2010 年代以降、多くのアプリがこのように作成されています。(例としてSpotifyとSlack があります。)[ 88 ] [ 89 ]
プラットフォームの制約により、すべてのブラウザは WebKit レンダリング エンジン上に構築する必要があります。
を開発したとき、Chrome に関連するすべてのものを最小限に抑え、その時点で関心のある Web サイトにのみ時間を費やすようにしたのには理由があります。ユーザーが使用しているコンテンツに集中できるようにしたかったのです。製品名を「Chrome」にしたのは、ブラウザのクロームを最小限に抑えたかったからです。私たちはそのように考えていました。
はマルチプロセスアーキテクチャを採用した最初のブラウザでした。
The SafeNet Agent for Epic enables seamless integration with [...] Epic Hyperdrive, a Chromium web-based framework
Here are the sources to the great Chromium Embedded Framework that is used by the Spotify Desktop client.