LoginSignup
0

More than 3 years have passed since last update.

Chromiumの規模を確認する その2:Blinkとv8

Last updated at Posted at 2021-01-28

目的

前回 はChromium全体について Line of Code (LOC) を用いて規模を確認した
今回は Chromium 内部をもう少し探っていく

結論

  • Chromium のレンダリングエンジン blink は third_party ディレクトリに存在
  • Chromium のJavaScriptエンジン v8 は Chromium のリポジトリとは別に管理
  • Chromium は利用する多数のライブラリを専用に抱える。そのライブラリ群は Chromium のリポジトリとは別リポジトリで管理
  • Blink, v8 それぞれの規模は下記の通り
Component LOC(C/C++/Assembly/Java)
blink 1,760,045
v8 1,483,480

chromium/src のディレクトリ毎のLOC

src 以下のファイルとディレクトリについてLOCを測る

$ cd ~/work/chromium/
$ time for d in src/*; \
do ~/work/cloc-1.88/cloc --quiet --csv --timeout=60 $d | \
   tail +3 | sed "s@^@$d,@"; \
done |  \
sed  1i"dir, files, language, blank, comment, code"  > ../cloc_chromium_src.csv

real    6m2.908s
user    5m46.510s
sys 0m16.376s

$ cat ../cloc_chromium_src.csv | head 
dir, files, language, blank, comment, code
src/android_webview,416,Java,11695,11418,64403
src/android_webview,175,C++,5058,2653,24321
src/android_webview,156,C/C++ Header,2299,1709,6700
src/android_webview,53,Markdown,1108,0,3808
src/android_webview,221,XML,151,289,3508
src/android_webview,16,Python,660,776,2402
src/android_webview,41,HTML,38,4,720
src/android_webview,1,JSON,0,0,271
src/android_webview,3,JavaScript,30,21,166
dir LOC
src/third_party 10,670,497
src/chrome 5,350,427
src/components 2,370,634
src/content 1,141,190
src/ui 1,046,091
src/net 714,807
src/tools 667,950
src/ios 538,292
src/ash 509,143
src/media 439,579
src/chromeos 379,771
src/base 356,995
src/testing 351,565
src/gpu 312,811
src/extensions 278,730
src/services 269,956
src/cc 222,584
src/native_client_sdk 208,934
src/ppapi 162,051
src/remoting 161,515
src/device 157,469
src/chromecast 116,089
src/android_webview 106,476
src/mojo 94,043
src/sandbox 64,292
src/build 61,501
src/storage 56,590
src/docs 56,024
src/weblayer 55,395
src/google_apis 35,610
src/fuchsia 25,295
src/pdf 21,943
src/headless 17,238
src/ipc 15,733
src/printing 14,912
src/url 13,108
src/courgette 12,228
src/sql 9,704
src/dbus 9,599
src/skia 8,445
src/jingle 6,981
src/crypto 5,925
src/rlz 5,529
src/gin 5,478
src/PRESUBMIT.py 4,090
src/styleguide 3,463
src/PRESUBMIT_test.py 3,156
src/apps 2,423
src/cloud_print 1,963
src/buildtools 1,501
src/infra 1,413
src/google_update 1,138
src/codelabs 480
src/PRESUBMIT_test_mocks.py 162
src/CODE_OF_CONDUCT.md 68
src/build_overrides 23
src/README.md 13

C, C++, Assembly, Java で確認

テスト用のHTMLやJavaScript等が多く含まれるため、今回も C, C++, Assembly, Java に絞って確認する
third_party, chrome が約350万LOCと以前巨大な規模ではあることが確認できる

dir LOC
src/third_party 3,544,748
src/chrome 3,478,179
src/components 1,658,843
src/content 901,105
src/ui 697,196
src/net 532,119
src/media 422,926
src/ash 412,267
src/base 343,026
src/chromeos 314,487
src/gpu 293,099
src/services 258,855
src/extensions 236,711
src/cc 221,712
src/device 142,905
src/ppapi 136,546
src/remoting 127,667
src/chromecast 108,793
src/android_webview 95,424
src/native_client_sdk 83,531
src/mojo 73,801
src/ios 72,722
src/sandbox 61,725
src/storage 56,191
src/weblayer 52,430
src/tools 48,036
src/google_apis 33,970
src/fuchsia 24,214
src/pdf 21,926
src/ipc 15,665
src/printing 14,107
src/url 13,014
src/headless 12,060
src/courgette 11,623
src/sql 9,630
src/dbus 9,593
src/testing 7,266
src/jingle 6,981
src/skia 6,930
src/crypto 5,738
src/gin 5,461
src/rlz 5,257
src/apps 2,423
src/build 1,747
src/cloud_print 1,619
src/codelabs 241
src/buildtools 59

third_party 内を確認する

$ time for d in src/third_party/*; \
do ~/work/cloc-1.88/cloc --quiet --csv --timeout=60 $d | \
   tail +3 | sed "s@^@$d,@"; \
done | \
sed  1i"dir, files, language, blank, comment, code"  > ../cloc_chromium_src_third_party.csv ; 

real    3m49.084s
user    3m34.197s
sys 0m15.386s
raiko@raikovm:~/work/chromium$ cat ../cloc_chromium_src_third_party.csv | head
dir, files, language, blank, comment, code
src/third_party/abseil-cpp,333,C++,15358,15320,93190
src/third_party/abseil-cpp,264,C/C++ Header,8936,27011,38682
src/third_party/abseil-cpp,7,Windows Module Definition,0,0,12565
src/third_party/abseil-cpp,27,CMake,439,563,6025
src/third_party/abseil-cpp,22,Bazel,451,355,5672
src/third_party/abseil-cpp,8,Pascal,334,1923,722
src/third_party/abseil-cpp,2,SQL,0,0,657
src/third_party/abseil-cpp,14,Bourne Shell,126,292,632
src/third_party/abseil-cpp,6,Python,144,161,552

Chromiumのレンダリングエンジンである blink が 176万LOC と半分近くを締めている

dir LOC
src/third_party/blink 1,760,045
src/third_party/protobuf 340,312
src/third_party/boringssl 227,051
src/third_party/libxml 153,944
src/third_party/abseil-cpp 131,872
src/third_party/crashpad 100,740
src/third_party/win_build_output 94,840
src/third_party/hunspell 72,325
src/third_party/libwebp 62,410
src/third_party/opus 54,366
src/third_party/tcmalloc 52,179
src/third_party/libaom 44,609
src/third_party/libvpx 39,354
src/third_party/wtl 39,242
src/third_party/libxslt 31,300
src/third_party/brotli 31,247
src/third_party/libpng 28,171
src/third_party/unrar 23,636
src/third_party/khronos 23,420
src/third_party/zlib 20,982
src/third_party/mesa_headers 15,729
src/third_party/webdriver 15,010
src/third_party/libusb 13,822
src/third_party/ots 12,164
src/third_party/fontconfig 10,973
src/third_party/lzma_sdk 10,362
src/third_party/android_crazy_linker 10,197
src/third_party/wds 9,895
src/third_party/shell-encryption 9,511
src/third_party/afl 8,446
src/third_party/weston 7,631
src/third_party/libjingle_xmpp 7,532
src/third_party/inspector_protocol 6,650
src/third_party/wayland 6,074
src/third_party/qcms 5,607
src/third_party/pffft 4,697
src/third_party/sqlite 4,166
src/third_party/fft2d 3,697
src/third_party/woff2 3,664
src/third_party/zxcvbn-cpp 3,589
src/third_party/ijar 3,523
src/third_party/libXNVCtrl 2,739
src/third_party/libaddressinput 2,718
src/third_party/leveldatabase 2,560
src/third_party/decklink 2,396
src/third_party/s2cellid 2,335
src/third_party/simplejson 2,318
src/third_party/private_membership 2,132
src/third_party/gvr-android-sdk 1,992
src/third_party/android_data_chart 1,628
src/third_party/liburlpattern 1,395
src/third_party/private-join-and-compute 1,323
src/third_party/libbrlapi 1,260
src/third_party/android_swipe_refresh 1,199
src/third_party/x11proto 1,150
src/third_party/android_deps 1,109
src/third_party/opencv 1,035
src/third_party/libsecret 1,010
src/third_party/google_trust_services 903
src/third_party/gif_player 807
src/third_party/modp_b64 640
src/third_party/webrtc_overrides 582
src/third_party/android_opengl 577
src/third_party/pycoverage 530
src/third_party/ocmock 503
src/third_party/rnnoise 481
src/third_party/one_euro_filter 346
src/third_party/microsoft_webauthn 314
src/third_party/android_media 271
src/third_party/libx11 260
src/third_party/grpc 243
src/third_party/bspatch 237
src/third_party/libudev 225
src/third_party/googletest 223
src/third_party/sudden_motion_sensor 207
src/third_party/ashmem 207
src/third_party/ukey2 203
src/third_party/libva_protected_content 196
src/third_party/markupsafe 178
src/third_party/speech-dispatcher 176
src/third_party/dav1d 172
src/third_party/minizip 159
src/third_party/apple_apsl 154
src/third_party/freetype 149
src/third_party/iccjpeg 147
src/third_party/robolectric 144
src/third_party/harfbuzz-ng 139
src/third_party/liblouis 122
src/third_party/breakpad 107
src/third_party/android_provider 100
src/third_party/gvr-android-keyboard 97
src/third_party/libprotobuf-mutator 83
src/third_party/snappy 66
src/third_party/lcov 61
src/third_party/jsoncpp 61
src/third_party/expat 56
src/third_party/mozilla 44
src/third_party/ced 33
src/third_party/v4l-utils 32
src/third_party/libxcb-keysyms 31
src/third_party/libsync 24
src/third_party/widevine 15
src/third_party/libphonenumber 7
src/third_party/r8 6
src/third_party/crc32c 0

JavaScriptエンジン v8 はどこだ?

レンダリングエンジンの blink が176万LOCならば、JavaScriptエンジンの v8 はどの程度の規模なのか?
これまでの調査結果には v8 の名前がでてきていない。

v8 は Chromium とは別プロジェクト、別リポジトリで開発されているため、Chromiumのリポジトリには含まれていないのだ

v8のリポジトリとハッシュ値は src 直下のDEPSファイルで確認できる

$ cd ~/work/chromium/src/
$ git show 89.0.4388.4:DEPS | grep v8
  'v8_revision': '8b42c4e7175e5d28c57d72dade99c52a144bec1f',
              'version': 'y8fIfH8Leo2cPm7iGCYnBxZpwOlgLv8rm2mlcmJlvGsC',
  'src/v8':
    Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
  'v8',
                '--bucket', 'v8-wasm-fuzzer',
                '-s', 'src/v8/test/fuzzer/wasm_corpus.tar.gz.sha1',

$ git show 89.0.4388.4:DEPS | grep chromium_git | grep https
  'chromium_git': 'https://chromium.googlesource.com',

上記から Chromium 89.0.4388.4 が利用している v8 リポジトリとリビジョンがわかる
v8のリポジトリをクローンしてLOCを調査する

$ cd ~/work/
$ git clone https://chromium.googlesource.com/v8/v8.git
Cloning into 'v8'...
remote: Sending approximately 751.83 MiB ...
remote: Counting objects: 7660, done
remote: Total 811720 (delta 655777), reused 811720 (delta 655777)
Receiving objects: 100% (811720/811720), 751.83 MiB | 17.33 MiB/s, done.
Resolving deltas: 100% (655777/655777), done.
Checking out files: 100% (12719/12719), done.

$ cd v8/
raiko@raikovm:~/work/v8$ ls
AUTHORS              COMMON_OWNERS  ENG_REVIEW_OWNERS  INTL_OWNERS         MIPS_OWNERS   S390_OWNERS  third_party
BUILD.gn             custom_deps    gni                LICENSE             OWNERS        samples      tools
build_overrides      DEPS           include            LICENSE.fdlibm      PPC_OWNERS    src          WATCHLISTS
CODE_OF_CONDUCT.md   DIR_METADATA   infra              LICENSE.strongtalk  PRESUBMIT.py  test
codereview.settings  docs           INFRA_OWNERS       LICENSE.v8          README.md     testing

$ git checkout 8b42c4e7175e5d28c57d72dade99c52a144bec1f
Checking out files: 100% (134/134), done.
Note: checking out '8b42c4e7175e5d28c57d72dade99c52a144bec1f'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 8b42c4e717 Version 8.9.270
$ git status
HEAD detached at 8b42c4e717
nothing to commit, working tree clean
$ cd ..
$ time ~/work/cloc-1.88/cloc --quiet --timeout=60 v8

github.com/AlDanial/cloc v 1.88  T=19.90 s (542.6 files/s, 136592.3 lines/s)
---------------------------------------------------------------------------------------
Language                             files          blank        comment           code
---------------------------------------------------------------------------------------
C++                                   1533         137484          93595        1227034
JavaScript                            7520          76782         110335         634044
C/C++ Header                          1326          55731          52482         254340
Python                                 216           7062           6997          29864
JSON                                    41              3              0          12634
TypeScript                              26            642            261           5396
HTML                                    28            430            108           4451
C                                       14            411            200           2051
Bourne Shell                            35            323            487           1400
CSS                                      5            246              5           1212
Markdown                                25            405              0           1194
Scheme                                   1             13             51            222
vim script                               3             28             30            143
WebAssembly                             12             15              0            105
R                                        1             12             22             79
Assembly                                 3             11             59             55
YAML                                     4              4             19             51
XML                                      1              8             16             44
DOS Batch                                2              4              3             29
make                                     1              4             27             15
Windows Module Definition                1              0              0              5
Bourne Again Shell                       1              2              3              3
---------------------------------------------------------------------------------------
SUM:                                 10799         279620         264700        2174371
---------------------------------------------------------------------------------------

real    0m20.109s
user    0m12.909s
sys 0m6.805s

C, C++, Assembly だけに絞ると約148万LOC
blink が v8 よりも若干規模が大きい状況だと確認できる

Component LOC(C/C++/Assembly/Java)
blink 1,760,045
v8 1,483,480

DEPS から Chromium リポジトリとは別に管理されているライブラリを確認する

v8 と同じように Chromium リポジトリとは別に管理されているライブラリが下記のように確認できる

これら全てを Chromium として LOC をカウントし始めると、どのライブラリまでが Chromium の一部だと扱われるべきで、どのライブラリは外部ライブラリとして扱われるべきなのか?という議論になってしまうだろう。
JavaScriptエンジンである v8 は Chromium の一部として扱うほうが Chromiumの規模を確認するには適切に思える。その他のライブラリはどう扱うべきだろうか?

$ grep -e _git DEPS | grep -e https
  'android_git': 'https://android.googlesource.com',
  'aomedia_git': 'https://aomedia.googlesource.com',
  'boringssl_git': 'https://boringssl.googlesource.com',
  'chromium_git': 'https://chromium.googlesource.com',
  'dawn_git': 'https://dawn.googlesource.com',
  'pdfium_git': 'https://pdfium.googlesource.com',
  'quiche_git': 'https://quiche.googlesource.com',
  'skia_git': 'https://skia.googlesource.com',
  'swiftshader_git': 'https://swiftshader.googlesource.com',
  'webrtc_git': 'https://webrtc.googlesource.com',

$ grep -e android_git \
 -e aomedia_git \
-e boringssl_git \
-e chromium_git \
-e dawn_git \
-e pdfium_git \
-e quiche_git \
-e skia_git \
-e swiftshader_git \
-e webrtc_git DEPS | cat -n
     1    'android_git': 'https://android.googlesource.com',
     2    'aomedia_git': 'https://aomedia.googlesource.com',
     3    'boringssl_git': 'https://boringssl.googlesource.com',
     4    'chromium_git': 'https://chromium.googlesource.com',
     5    'dawn_git': 'https://dawn.googlesource.com',
     6    'pdfium_git': 'https://pdfium.googlesource.com',
     7    'quiche_git': 'https://quiche.googlesource.com',
     8    'skia_git': 'https://skia.googlesource.com',
     9    'swiftshader_git': 'https://swiftshader.googlesource.com',
    10    'webrtc_git': 'https://webrtc.googlesource.com',
    11      Var('chromium_git') + '/chromium/llvm-project/cfe/tools/clang-format.git@' +
    12      Var('chromium_git') +
    13      Var('chromium_git') +
    14      Var('chromium_git') +
    15      Var('chromium_git') + '/media_router.git' + '@' + 'd4389c097c61fa8c5aa5eb7c3ba34ee203dd62e3',
    16        'url': Var('chromium_git') + '/chromium/deps/xz.git' + '@' + 'eecaf55632ca72e90eb2641376bce7cdbc7284f7',
    17      Var('chromium_git') + '/chromium/canvas_bench.git' + '@' + 'a7b40ea5ae0239517d78845a5fc9b12976bfc732',
    18      Var('chromium_git') + '/chromium/frame_rate/content.git' + '@' + 'c10272c88463efeef6bb19c9ec07c42bc8fe22b9',
    19      Var('chromium_git') + '/external/github.com/toji/webvr.info.git' + '@' + 'c58ae99b9ff9e2aa4c524633519570bf33536248',
    20        'url': Var('chromium_git') + '/external/github.com/google/EarlGrey.git' + '@' + 'ff524fb646253b0cbc05aa6d0b327b6b3ddd0385',
    21        'url': Var('chromium_git') + '/external/github.com/google/EarlGrey.git' + '@' + '891b1b683a7ed73f98f8064672a95ca77060df42',
    22        'url': Var('chromium_git') + '/external/github.com/google/eDistantObject.git' + '@' + '91c532d921e1f37f7e0f213c534df16df6061ec1',
    23        'url': Var('chromium_git') + '/external/github.com/google/GTXiLib.git' + '@' + '3e09baa61b2c13fe98029d53b1783f4ca9edaabf',
    24        'url': Var('chromium_git') + '/external/github.com/facebook/fishhook.git' + '@' + '66315a9c251edfe92f669ae2deeac0d75374c948',
    25        'url': Var('chromium_git') + '/external/github.com/swisspol/GCDWebServer.git' + '@' + '43555c66627f6ed44817855a0f6d465f559d30e0',
    26        'url': Var('chromium_git') + '/external/github.com/material-components/material-components-ios.git' + '@' + '6cf2fb727b73cf7ac8ef0722b4de8afdfd1bdf9d',
    27        'url': Var('chromium_git') + '/external/github.com/material-foundation/material-font-disk-loader-ios.git' + '@' + '93acc021e3034898716028822cb802a3a816be7e',
    28        'url': Var('chromium_git') + '/external/github.com/material-foundation/material-internationalization-ios.git' + '@' + 'd8f32464ac97d5551c8db19de916170ae87cfa90',
    29        'url': Var('chromium_git') + '/external/github.com/material-foundation/material-roboto-font-loader-ios.git' + '@' + '4aa51e906e5671c71d24e991f1f10d782a58409f',
    30        'url': Var('chromium_git') + '/external/github.com/material-foundation/material-sprited-animation-view-ios.git' + '@' + '8af9adaa182044cf2920dfb620b863669e1aeb7c',
    31        'url': Var('chromium_git') + '/external/github.com/material-foundation/material-text-accessibility-ios.git' + '@' + '499b45d1895b565096302a209c0c728df03b95d4',
    32        'url': Var('chromium_git') + '/external/github.com/material-motion/motion-interchange-objc.git' + '@' + '8e25f1ca599543dc77e4016b588763dcba6cbac8',
    33        'url': Var('chromium_git') + '/external/github.com/material-motion/motion-animator-objc.git' + '@' + '0581bc3dfacd34e40381e9cf45a15070b3868ba7',
    34        'url': Var('chromium_git') + '/external/github.com/material-motion/motion-transitioning-objc.git' + '@' + '5bb0d577dd78472536480496ace115bc593ed0e1',
    35        'url': Var('chromium_git') + '/external/github.com/hamcrest/OCHamcrest.git' + '@' + '92d9c14d13bb864255e65c09383564653896916b',
    36        'url': Var('chromium_git') + '/external/github.com/WebKit/webkit.git' +
    37      Var('chromium_git') + '/chromium/cdm.git' + '@' + 'fc5afac6847dc61addc1177103aa602e71a9ecac',
    38        'url': Var('chromium_git') + '/native_client/src/native_client.git' + '@' + Var('nacl_revision'),
    39      Var('quiche_git') + '/quiche.git' + '@' +  Var('quiche_revision'),
    40      Var('chromium_git') + '/external/github.com/google/shaderc.git@' +
    41        'url': Var('android_git') + '/platform/external/protobuf.git' + '@' + '7fca48d8ce97f7ba3ab8eea5c472f1ad3711762f',
    42        'url': Var('chromium_git') + '/android_ndk.git' + '@' + '27c0a8d090c666a50e40fceb4ee5b40b1a2d3f87',
    43        'url': Var('chromium_git') + '/external/gob/android/platform/frameworks/support/browser.git' + '@' + '65086eb5e52c16778fa7b4f157156d17b176fcb3',
    44      Var('chromium_git') + '/angle/angle.git' + '@' +  Var('angle_revision'),
    45      Var('chromium_git') + '/external/github.com/videolan/dav1d.git' + '@' + '441e643915bea71a0234d85121109d2816f18984',
    46      Var('dawn_git') + '/dawn.git' + '@' +  Var('dawn_revision'),
    47      Var('dawn_git') + '/tint.git' + '@' +  Var('tint_revision'),
    48      Var('chromium_git') + '/external/github.com/glfw/glfw.git@' +  '2de2589f910b1a85905f425be4d32f33cec092df',
    49        'url': Var('chromium_git') + '/external/apache-portable-runtime.git' + '@' + 'c3f11fcd86b42922834cae91103cf068246c6bb6',
    50      'url': Var('chromium_git') + '/external/github.com/google/benchmark.git' + '@' + 'ffe1342eb2faa7d2e7c35b4db2ccf99fab81ec20',
    51      Var('boringssl_git') + '/boringssl.git' + '@' +  Var('boringssl_revision'),
    52      Var('chromium_git') + '/breakpad/breakpad.git' + '@' + 'e3d485f73f5836fdd6fb287ab96973c4f63175e1',
    53      Var('chromium_git') + '/catapult.git' + '@' + Var('catapult_revision'),
    54      Var('chromium_git') + '/external/github.com/google/compact_enc_det.git' + '@' + 'ba412eaaacd3186085babcd901679a48863c7dd5',
    55        'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + 'd46475f87758f99f2eb030682f32b69957d152c8',
    56      Var('chromium_git') + '/external/github.com/google/cld_3.git' + '@' + '06f695f1c8ee530104416aab5dcf2d6a1414a56a',
    57      Var('chromium_git') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
    58      Var('chromium_git') + '/external/github.com/google/crc32c.git' + '@' + '5998f8451548244de8cde7fab387a550e7c4497d',
    59        'url': Var('chromium_git') + '/chromiumos/platform2/system_api.git' + '@' + '42f3f3cea40612784b38532b9e5d1a54a3d2174c',
    60      Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '9b5dd7ab8a98140a1b73b9dea29245605137cd09',
    61      Var('chromium_git') + '/devtools/devtools-frontend' + '@' + Var('devtools_frontend_revision'),
    62      Var('chromium_git') + '/chromium/dom-distiller/dist.git' + '@' + 'f339eb9463714c3d31657c8ee1bd53d1c7e5c555',
    63      Var('chromium_git') + '/external/gitlab.com/libeigen/eigen.git' + '@' + '2ce2f5198929caab4b41a6ad1b9c93f67d8b9a69',
    64      'url': Var('chromium_git') + '/external/github.com/googlefonts/emoji-metadata' + '@' + '9d8e5cfe52ee763b7dd91e33e5a50250efbf7135',
    65      Var('chromium_git') + '/external/github.com/google/farmhash.git' + '@' + '816a4ae622e964763ca0862d9dbd19324a1eaf45',
    66      Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + '841aa72c9e153ae5f952e31e4b6406870555922d',
    67      Var('chromium_git') + '/chromium/deps/flac.git' + '@' + 'af862024c8c8fa0ae07ced05e89013d881b00596',
    68      Var('chromium_git') + '/external/github.com/google/flatbuffers.git' + '@' + '6df40a2471737b27271bdd9b900ab5f3aec746c7',
    69        'url': Var('chromium_git') + '/external/fontconfig.git' + '@' + '452be8125f0e2a18a7dfef469e05d19374d36307',
    70      Var('chromium_git') + '/external/github.com/Maratyszcza/FP16.git' + '@' + 'febbb1c163726b5db24bed55cc9dc42529068997',
    71      Var('chromium_git') + '/external/github.com/google/gemmlowp.git' + '@' + 'fda83bdc38b118cc6b56753bd540caa49e570745',
    72        'url': Var('chromium_git') + '/external/github.com/grpc/grpc.git' + '@' + '4ac9c6f755463a2321f84b0cb2d631e1828faedb',
    73      Var('chromium_git') + '/chromium/src/third_party/freetype2.git' + '@' + Var('freetype_revision'),
    74      Var('chromium_git') + '/external/github.com/freetype/freetype2-testing.git' + '@' + Var('freetype_testing_revision'),
    75      Var('chromium_git') + '/external/github.com/harfbuzz/harfbuzz.git' + '@' + Var('harfbuzz_revision'),
    76      Var('chromium_git') + '/external/github.com/google/emoji-segmenter.git' + '@' + Var('emoji_segmenter_revision'),
    77      Var('chromium_git') + '/codecs/libgav1.git' + '@' + 'a5ee0e00923c355ef3aad2b2829365a9fde84430',
    78        'url': Var('chromium_git') + '/external/github.com/google/google-toolbox-for-mac.git' + '@' + Var('google_toolbox_for_mac_revision'),
    79      Var('chromium_git') + '/external/github.com/google/googletest.git' + '@' + Var('googletest_revision'),
    80        'url': Var('chromium_git') + '/native_client/deps/third_party/gnu_binutils.git' + '@' + 'f4003433b61b25666565690caf3d7a7a1a4ec436',
    81        'url': Var('chromium_git') + '/chromium/deps/gperf.git' + '@' + 'd892d79f64f9449770443fb06da49b5a1e5d33c1',
    82        'url': Var('chromium_git') + '/external/github.com/googlevr/gvr-android-sdk.git' + '@' + '233e7fe922a543e0bc55382d64cacd047307d0e7',
    83        'url': Var('chromium_git') + '/external/github.com/google-ar/arcore-android-sdk.git' + '@' + '54861e38cceb406021fc8ece495f82387376af62',
    84      Var('chromium_git') + '/chromium/deps/hunspell_dictionaries.git' + '@' + '18e09b9197a3b1d771c077c530d1a4ebad04c167',
    85      Var('chromium_git') + '/chromium/deps/icu.git' + '@' + '899e18383fd732b47e6978db2b960a1b2a80179b',
    86        'url': Var('chromium_git') + '/external/github.com/c2nes/javalang.git' + '@' + 'f98ffcb31d1daa57fbe5bd6def8ad7c3126d8242',
    87      Var('chromium_git') + '/external/github.com/open-source-parsers/jsoncpp.git'
    88        'url': Var('chromium_git') + '/external/junit.git' + '@' + '64155f8a9babcfcf4263cf4d08253a1556e75481',
    89      Var('chromium_git') + '/external/leveldb.git' + '@' + 'c46e79c760125f9adb87a575d94034032637f8d0',
    90      Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + '@' +  Var('libfuzzer_revision'),
    91      Var('chromium_git') + '/external/libaddressinput.git' + '@' + '390dfc08e3806a2125d08d4d8d034a24d587d77a',
    92      Var('aomedia_git') + '/aom.git' + '@' +  '43927e4611e7c3062a67ebaca38a625faa9a39d6',
    93      Var('chromium_git') + '/external/github.com/AOMediaCodec/libavif.git' + '@' + Var('libavif_revision'),
    94      Var('chromium_git') + '/external/github.com/google/nearby-connections.git' + '@' + Var('nearby_revision'),
    95      Var('chromium_git') + '/external/github.com/google/securemessage.git' + '@' + Var('securemessage_revision'),
    96      Var('chromium_git') + '/external/github.com/google/ukey2.git' + '@' + Var('ukey2_revision'),
    97        'url': Var('chromium_git') + '/chromiumos/third_party/libdrm.git' + '@' + '0190f49a139e7069d7cad6a6890832831da1aa8b',
    98      Var('chromium_git') + '/external/github.com/libexpat/libexpat.git' + '@' + Var('libexpat_revision'),
    99        'url': Var('chromium_git') + '/chromiumos/platform2/libipp.git' + '@' + '6c45a4f3a05cb5dd700414fe4d94cf685159d3ce',
   100      Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git' + '@' + '518d81558c797486e125e37cb529d65b560a6ea0',
   101        'url': Var('chromium_git') + '/external/liblouis-github.git' + '@' + '03d7d72d983d47c17f7de95bbeae89fe33e41943',
   102      Var('chromium_git') + '/external/libphonenumber.git' + '@' + '68eba9d6ee8b11fb58ece36b6c46d07965d7f7ff',
   103      Var('chromium_git') + '/external/github.com/google/libprotobuf-mutator.git' + '@' +  Var('libprotobuf-mutator'),
   104      Var('chromium_git') + '/chromium/deps/libsrtp.git' + '@' + '7990ca64c616b150a9cb4714601c4a3b0c84fe91',
   105        'url': Var('chromium_git') + '/aosp/platform/system/core/libsync.git' + '@' + 'f4f4387b6bf2387efbcfd1453af4892e8982faf6',
   106        'url': Var('chromium_git') + '/chromium/src/third_party/libunwindstack.git' + '@' + '11659d420a71e7323b379ea8781f07c6f384bc7e',
   107      Var('chromium_git') + '/webm/libvpx.git' + '@' +  'b5d77a48d740e211a130c8e45d9353ef8c154a47',
   108      Var('chromium_git') + '/webm/libwebm.git' + '@' + '51ca718c3adf0ddedacd7df25fe45f67dc5a9ce1',
   109      Var('chromium_git') + '/libyuv/libyuv.git' + '@' + '93b1b332cd60b56ab90aea14182755e379c28a80',  # from r1770
   110        'url': Var('chromium_git') + '/chromium/deps/lighttpd.git' + '@' + Var('lighttpd_revision'),
   111        'url': Var('chromium_git') + '/linux-syscall-support.git' + '@' + Var('lss_revision'),
   112        'url': Var('chromium_git') + '/external/github.com/google/material-design-icons.git' + '@' +
   113        'url': Var('chromium_git') + '/native_client/deps/third_party/mingw-w64/mingw/bin.git' + '@' + '3cc8b140b883a9fe4986d12cfd46c16a093d3527',
   114        'url': Var('chromium_git') + '/chromiumos/platform/minigbm.git' + '@' + 'bc4f023bfcc51cf9dcfcfec5bf4177b2e607dd68',
   115        'url': Var('chromium_git') + '/external/github.com/nmoinvaz/minizip' + '@' + '1ff40343b55e738d941abb51c70eddb803db16e2',
   116        'url': Var('chromium_git') + '/external/mockito/mockito.git' + '@' + '04a2a289a4222f80ad20717c25144981210d2eac',
   117        'url': Var('chromium_git') + '/chromium/deps/nacl_sdk_binaries.git' + '@' + '759dfca03bdc774da7ecbf974f6e2b84f43699a5',
   118        'url': Var('chromium_git') + '/chromium/deps/nasm.git' + '@' +
   119      Var('chromium_git') + '/external/github.com/intel/ARM_NEON_2_x86_SSE.git' + '@' + '42b2bebacee25452e150095ef4480b3fa26e30f5',
   120        'url': Var('chromium_git') + '/external/netty-tcnative.git' + '@' + '5b46a8ef4a39c39c576fcdaaf718b585d75df463',
   121        'url': Var('chromium_git') + '/external/netty4.git' + '@' + 'cc4420b13bb4eeea5b1cf4f93b2755644cd3b120',
   122      Var('chromium_git') + '/external/github.com/cisco/openh264' + '@' + '3dd5b80bc4f172dd82925bb259cb7c82348409c5',
   123      Var('chromium_git') + '/openscreen' + '@' + '6051838253185d8478f5fa4d70c96ef6c0241f94',
   124      'url': Var('chromium_git') + '/external/github.com/KhronosGroup/OpenXR-SDK' + '@' + '97cfe495bb7a3853266b646d1c79e169387f9c7a',
   125      Var('pdfium_git') + '/pdfium.git' + '@' +  Var('pdfium_revision'),
   126        'url': Var('chromium_git') + '/external/pefile.git' + '@' + '72c6ae42396cb913bcab63c15585dc3b5c3f92f1',
   127      Var('android_git') + '/platform/external/perfetto.git' + '@' + '704a1aa4c802df97a8203e052b77db2eabdb317a',
   128        'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + '6f3e5028eb65d0b4c5fdd792106ac4c84eee1eb3',
   129        'url': Var('chromium_git') + '/chromiumos/third_party/pyelftools.git' + '@' + '19b3e610c86fcadb837d252c794cb5e8008826ae',
   130      Var('chromium_git') + '/external/github.com/google/quic-trace.git' + '@' + '2dccbe8e996d43c6d93b69e4f6d024f015e8c488',
   131      Var('chromium_git') + '/external/github.com/GoogleChromeLabs/pywebsocket3.git' + '@' + 'faf478a0453ceae78f2a3bc11c6c21e13362628f',
   132      Var('chromium_git') + '/external/github.com/google/re2.git' + '@' + 'c33d1680c7e9ab7edea02d7465a8db13e80b558d',
   133        'url': Var('chromium_git') + '/external/github.com/kennethreitz/requests.git' + '@' + 'c7e0fc087ceeadb8b4c84a0953a422c474093d6d',
   134      Var('chromium_git') + '/external/github.com/google/ruy.git' + '@' + '34ea9f4993955fa1ff4eb58e504421806b7f2e8f',
   135      Var('skia_git') + '/skia.git' + '@' +  Var('skia_revision'),
   136      Var('chromium_git') + '/external/smhasher.git' + '@' + 'e87738e57558e0ec472b2fc3a643b838e5b6e88f',
   137      Var('chromium_git') + '/external/github.com/google/snappy.git' + '@' + 'ea368c2f07de5f31146a10214f27d15091b09771',
   138      Var('chromium_git') + '/chromium/deps/sqlite.git' + '@' + '702a79c7d77331cbe2838c4b3c5fab529f75f7c2',
   139      Var('swiftshader_git') + '/SwiftShader.git' + '@' +  Var('swiftshader_revision'),
   140      'url': Var('chromium_git') + '/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git' + '@' + '90a76f78e73579ab6bc4f300953cec39b27d058b',
   141      Var('chromium_git') + '/external/github.com/tensorflow/tensorflow.git' + '@' + 'fcc4b966f1265f466e82617020af93670141b009',
   142        'url': Var('chromium_git') + '/external/github.com/google/turbine.git' + '@' + '3c31e67ae25b5e43713fd868e3a9b535ff6298af',
   143        'url': Var('chromium_git') + '/chromium/third_party/ub-uiautomator.git' + '@' + '00270549ce3161ae72ceb24712618ea28b4f9434',
   144      Var('chromium_git') + '/external/github.com/sctplab/usrsctp' + '@' + 'a3c3ef666b7a5e4c93ebae5a7462add6f86f5cf2',
   145    'src/third_party/vulkan-deps': '{chromium_git}/vulkan-deps@e59ae1af7571c2994183768c2a36fff8b1854437',
   146      Var('chromium_git') + '/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git' + '@' + '6c656df63da5995a932aafd45b32af1974e497d9',
   147        'url': Var('chromium_git') + '/external/anongit.freedesktop.org/git/wayland/wayland.git' + '@' + 'eb1339edd398b9f5328816931e585db4229aa132',
   148        'url': Var('chromium_git') + '/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git' + '@' + '684cd23ae31fafb9eda2a0cd15edb4e96de92259',
   149        'url': Var('chromium_git') + '/external/github.com/01org/wds' + '@' + 'a488b169d724d6b4cfcd7037dbab1f1c2bf04f3b',
   150      Var('chromium_git') + '/external/github.com/SeleniumHQ/selenium/py.git' + '@' + 'd0045ec570c1a77612db35d1e92f05e1d27b4d53',
   151      Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + '3e3f152617996e4a175fd0b597a1936824b371f3',
   152      Var('chromium_git') + '/external/github.com/gpuweb/cts.git' + '@' + '3c2fe3888658d82b47ca831d59a2e07579619c2d',
   153      Var('webrtc_git') + '/src.git' + '@' + '1c5e63e5451374783aaf0259f5c23d3688a5b2ff',
   154       Var('skia_git') + '/libgifcodec' + '@'+  Var('libgifcodec_revision'),
   155      Var('skia_git') + '/external/github.com/google/wuffs.git' + '@' +  Var('wuffs_revision'),
   156        'url': Var('chromium_git') + '/external/anongit.freedesktop.org/git/wayland/weston.git' + '@' + 'db905f467169f9f131c5ddc6038296f866d5daeb',
   157        'url': Var('chromium_git') + '/chromium/deps/xdg-utils.git' + '@' + 'd80274d5869b17b8c9067a1022e4416ee7ed5e0d',
   158      Var('chromium_git') + '/chromium/deps/acid3.git' + '@' + '6be0a66a1ebd7ebc5abc1b2f405a945f6d871521',
   159      Var('chromium_git') + '/infra/luci/client-py.git' + '@' +  Var('swarming_revision'),
   160      Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
   161        'url': Var('android_git') + '/platform/prebuilts/build-tools.git' + '@' + '5794e96eb8bae47bb48feee915d99583573b3887',

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
0