chromium をベースにした Ichino ブラウザを作る
このブログを読んでいる方は既にお分かりと思いますが chromium をベースにしたブラウザがたくさん配布されています。google chrome が有名ですが、最近は Microsoft Edge なども chromium ベースとなりました。
この記事は簡単なブランド化を目的としたソースコードの改変をご紹介します。なお、この記事が書けるようになるまで色々な情報(ソースコード, インターネットの記事等)を調べていますが、まだブランド化の成熟度は低いと思われますので導入の一つと考えてください。
documents
chromium のソースコードを fetch すると md (Mark Down)形式のファイルが集約されているフォルダが \chromium\src\docs にあります。このフォルダにある google_chrome_branded_builds.md が参考になります。また同じものが Chromium Docs – Google Chrome branded builds (googlesource.com) にも掲載されています。
google chrome は 以下赤枠のステートメントでブランド化(ソース内部でブランチ)しているようです。
ただ、これを全て置き換えることなく logo 画像と文字列のリソースを置き換えるだけでもブランド化できました。(Aphrx の “Creating A Chromium-Based Browser” を参考にしました)
Ichino ブランド chromium 変更箇所
- 変更箇所一覧
- 上記スクリーンショットのテキストを掲載しておきます。
C:\src\chromium\src>git diff --name-status M chrome/app/chromeos_strings.grdp M chrome/app/chromium_strings.grd M chrome/app/generated_resources.grd M chrome/app/google_chrome_strings.grd M chrome/app/os_settings_strings.grdp M chrome/app/settings_chromium_strings.grdp M chrome/app/settings_strings.grdp M chrome/app/shared_settings_strings.grdp M chrome/app/theme/chromium/BRANDING M chrome/app/theme/chromium/chromeos/chrome_app_icon_192.png M chrome/app/theme/chromium/chromeos/chrome_app_icon_32.png M chrome/app/theme/chromium/linux/product_logo_128.png M chrome/app/theme/chromium/linux/product_logo_24.png M chrome/app/theme/chromium/linux/product_logo_256.png M chrome/app/theme/chromium/linux/product_logo_48.png M chrome/app/theme/chromium/linux/product_logo_64.png M chrome/app/theme/chromium/product_logo_128.png M chrome/app/theme/chromium/product_logo_24.png M chrome/app/theme/chromium/product_logo_256.png M chrome/app/theme/chromium/product_logo_48.png M chrome/app/theme/chromium/product_logo_64.png M chrome/app/theme/chromium/win/chromium.ico M chrome/app/theme/chromium/win/tiles/Logo.png M chrome/app/theme/chromium/win/tiles/SmallLogo.png M chrome/app/theme/default_100_percent/chromium/product_logo_16.png M chrome/app/theme/default_100_percent/chromium/product_logo_32.png M chrome/app/theme/default_200_percent/chromium/product_logo_16.png M chrome/app/theme/default_200_percent/chromium/product_logo_32.png M components/autofill_payments_strings.grdp M components/autofill_strings.grdp M components/components_chromium_strings.grd M components/components_google_chrome_strings.grd M components/management_strings.grdp M components/new_or_sad_tab_strings.grdp M components/omnibox_pedal_ui_strings.grdp M components/omnibox_strings.grdp M components/page_info_strings.grdp M components/password_manager_strings.grdp M components/reset_password_strings.grdp M components/security_interstitials_strings.grdp M components/ssl_errors_strings.grdp M components/version_ui_strings.grdp
- grdp/grd 変更内容
”Chromium” を Ichino に、一括変換的に変更しています。
- BRANDING ファイル変更内容
これも文字の一括変換の延長で変更しています。
- LOGO
LOGO は 1080×1080 サイズの png ファイルを最初に作成して、それを各々のサイズに縮小化して適用させました。
ビルド手順
ビルド手順は通常の chromium の手順と同様です。こちらを参照してください。