6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

古いバージョンの Chromium/Chrome バイナリを取得する方法, ついでに昔の Chrome の UI スクショ

Last updated at Posted at 2021-03-01

初めに

ブラウザ互換性確認等で古いバージョンの Chromium/Chrome バイナリを使用したいことありますよね!
都度都度ビルドするの時間掛かって大変ですよね!
というわけで、古いバージョンの Chromium/Chrome バイナリを取得する方法です!

ここでは用途上 Chromium と Chrome は同じものとして扱って良い場合で話を進めます(とある JS 機能の実装有無確認等)。
簡単に Chromium と Chrome の差を wikipedia の Chromium のページ から抜粋しておきます。

このプロジェクトで開発されるChromiumのスナップショットは、Googleによるいくつかの追加機能を除いて、Google Chromeの最新ビルドと本質的に似ている[11]。Google ChromeにありChromiumにない代表的な機能要素は、Googleブランド、自動アップデート機能、クリックラップ契約(英語版)(利用許諾に「同意する」を押下することで承諾するもの)、RLZトラッキング機能、Adobe Flash Playerの同梱などがある。

手順まとめ

  1. Chrome Release から欲しいバージョンのバージョン番号をフルで知る
  2. omahaproxy から Position(コミット ID のようなもの)を知る
  3. continuous builds archive を開く
  4. 環境を選択(Linux / Mac / Win)し、フィルタに Position の数字を入力
  5. ダウンロードして実行!

例1 : M87 バイナリ

執筆時点最新の M88(88.0.4324.150)の一つ前のバージョン M87 のバイナリを手に入れてみましょう。

  1. Chrome Release から欲しいバージョンのバージョン番号をフルで知る

image.png

Chrome Release を遡り M87 のリリースを探します。

image.png

87.0.4280.141 と分かりました。

2 . omahaproxy から Position(コミット ID のようなもの)を知る

omahaproxy ページ下部の Tools の Version Information にバージョンを入力すると
Branch Base Position: 812852
と分かりました。

image.png

3 . continuous builds archive を開く

image.png

4 . 環境を選択(Linux / Mac / Win)し、フィルタに Position の数字を入力

環境を選びます。僕の場合は Linux_x64 です。

Branch Base Position の数字を「Filter」に入力します。
HIT しない場合は、数字を減らし、近い数字を探します。

image.png

5 . ダウンロードして実行!

chrome-linux.zip をダウンロードします。
https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/812859/

image.png

zip を解凍して chrome が実行ファイルです。

$ ls
ClearKeyCdm             extensions             nacl_irt_x86_64.nexe
MEIPreload              icudtl.dat             product_logo_48.png
chrome                  libEGL.so              resources
chrome-wrapper          libGLESv2.so           resources.pak
chrome_100_percent.pak  locales                swiftshader
chrome_200_percent.pak  nacl_helper            v8_context_snapshot.bin
chrome_sandbox          nacl_helper_bootstrap  xdg-mime
crashpad_handler        nacl_helper_nonsfi     xdg-settings

$ ./chrome

image.png

起動しました!

例2 : 一番古いバージョン

一番古いバージョンの UI 見てみましょうか。
僕の手元の Ubuntu 16.04 で起動出来るもの、の前提で。
適当にメジャーバージョン10ずつ調べていきます。

Chrome Release の探し方その2

Chrome Release から古いバージョン探す時、ページ遡るの大変なので、右側の検索ボックスから探すのが楽です。

image.png

もしくはいきなり google で
site:chromereleases.googleblog.com chrome 50.0
等と検索しても OK です。

image.png

M50

M50 の頃は起動引数に --no-sandbox 付けないと起動出来ないですね。
付けて起動出来てもログにエラー出まくりますが、、まぁここでは主旨と違うので追いません。

$ ./chrome
[26607:26607:0222/171939:FATAL:browser_main_loop.cc(216)] Running without the SUID sandbox! See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md for more information on developing with the sandbox on.
#0 0x55ba3bd64b8e base::debug::StackTrace::StackTrace()
#1 0x55ba3bd77abb logging::LogMessage::~LogMessage()
#2 0x55ba3938e6ff content::BrowserMainLoop::EarlyInitialization()
#3 0x55ba39394fd4 content::BrowserMainRunnerImpl::Initialize()
#4 0x55ba3938dd76 content::BrowserMain()
#5 0x55ba3bd408e2 content::ContentMainRunnerImpl::Run()
#6 0x55ba3bd3f680 content::ContentMain()
#7 0x55ba37fd304a ChromeMain
#8 0x7fe0de08d840 __libc_start_main
#9 0x55ba37fd2f21 <unknown>

中止 (コアダンプ)

$ ./chrome --no-sandbox
[26665:26665:0222/172015:ERROR:browser_main_loop.cc(219)] Running without the SUID sandbox! See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md for more information on developing with the sandbox on.
[26665:26680:0222/172015:ERROR:web_database_backend.cc(56)] Cannot initialize the web database: 2
[26665:26698:0222/172015:ERROR:connection.cc(1919)]  sqlite error 1, errno -2: table urls has 8 columns but 7 values were supplied, sql: INSERT INTO urls SELECT * FROM history.urls WHERE typed_count > 0
[26665:26698:0222/172015:ERROR:connection.cc(1919)]  sqlite error 1, errno -2: no such column: u.favicon_id, sql: INSERT OR IGNORE INTO urls SELECT u.id, u.url, u.title, u.visit_count, u.typed_count, u.last_visit_time, u.hidden, u.favicon_id FROM history.urls u JOIN history.keyword_search_terms kst WHERE u.typed_count = 0 AND u.id = kst.url_id

そういえば昔はタブの形が台形でしたね。

image.png

M40

M42 以下は Position の数字が小さくなり(3桁になり)、 continuous builds archive では探せません。
この方法で探せるのは M43 まで、とわかりました。

M40 : Position 445

image.png

M42 : Position 457

image.png

M43 : Position 323860

image.png

M43 の見た目は M50 と同じなので略。

その他

この手順、単に
https://www.chromium.org/getting-involved/download-chromium
のページの日本語訳ですw

6
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?