ブラウザエンジンとは
browser engine(ブラウザ・エンジン)は、Webページの取得、表示、スクリプト実行などをまとめて担うブラウザの中核ソフトウェアです。ネットワーク、文書モデル、レンダリング、JavaScript・WebAssembly、保存領域、セキュリティ、メディア等を協調させます。
ただし「ブラウザーエンジン」は標準仕様で構成要素境界が一つに固定された名称ではありません。文脈によってレンダリングエンジンだけを指したり、Blink・WebKit・Geckoのような広いWebプラットフォームを指したりします。
用語の範囲が揺れるため、エンジン名だけで比較せず、「HTML・CSS描画」「JavaScript」「ネットワーク」「処理分離」のどこまでを含めて話しているか確認します。

中核を八つの担当に分ける
DNS、接続、TLS、HTTP、プロキシ、キャッシュ、Cookieを扱います。
HTMLを解析してDOMを作り、ストリーミング中もsubresourceを発見します。
CSS連鎖、レイアウト、描画、ラスター、合成で画素へ変換します。
JavaScript・WebAssemblyエンジンとホストAPIを接続します。
Cookie、キャッシュ、ローカル保存領域、データベース、サービスワーカー等を管理します。
復号、ストリーミング、caption、機器権限等を調整します。
same-origin、CSP、サンドボックス、権限、証明書を強制します。
accessible木構造、焦点、名前、状態をassistive technologyへ提供します。
URLを開いてから画素が出るまで
ナビゲーション要求を受けるとネットワーク構成要素がDNS、接続、TLS、HTTPを進め、応答本文を描画処理へストリームします。HTML解析器は受信途中からDOMを作り、スタイルシート、スクリプト、画像、フォント等を追加要求します。
CSSが揃うと計算済みスタイルとレイアウトを計算し、描画コマンドを作り、ラスターと合成で画面へ出します。スクリプトは途中で解析器を止めることも、後からDOMを変えて再計算を起こすこともあります。
JavaScriptエンジンはブラウザーエンジンの一部として協調する
V8、JavaScriptCore、SpiderMonkey等はECMAScriptを実行しますが、DOM、タイマー、ネットワーク、保存領域は言語仕様そのものではありません。ブラウザーエンジンがホストAPIとして公開し、イベントループを通じてコールバックを実行します。
したがってJavaScriptエンジンだけを別アプリケーションへ組み込んでも、ブラウザーと同じ文書や取得が自動的に付くわけではありません。
ブラウザーUIは通常エンジン境界の外にある
タブstrip、アドレス欄、ブックマーク管理者、ダウンロードUI、プロファイルselector、設定ページ、更新サービスはブラウザー製品の外殻です。エンジンはその要求を受けてナビゲーションやコンテンツ表示を行います。
同じエンジンを使う二製品が異なる権限確認画面、プライバシー設定、履歴同期を持てるのは、製品層が別だからです。逆にUIが似ていてもエンジン系統が同じとは限りません。
処理分離と構成要素分離は別の設計図
ソースコード上のネットワーク構成要素が一つでも、実行時は専用のネットワークプロセスで動く場合があります。レンダリング構成要素も複数の描画プロセスへ分かれます。ブラウザー、描画、GPU、ネットワーク、保存領域の各プロセスがIPCで連携します。
処理境界はセキュリティとstabilityを高めますが、IPCオーバーヘッドとメモリーを使います。ブラウザーはサイト分離、機器メモリー、処理負荷に応じて処理を生成・再利用します。
レンダリングエンジンとの違い
レンダリングエンジンはHTML・CSSをレイアウト・描画して画素へ近づける部分へ焦点を当てる名称です。ブラウザーエンジンは、それにネットワーク、スクリプト、保存領域、セキュリティ等を含めた広い協調系として使われます。
ブラウザーエンジンはWebページを成立させる中核構成要素群です。曖昧な総称だからこそ、描画だけか、JavaScript・ネットワーク・処理基盤まで含むかを言葉で補います。
browser・renderer process、Blink、network、storage等を分離するChromium architecture:Chromium「Multi-process Architecture」。WebCore、JavaScriptCore、UI・WebContent・Networking processを持つ別実装の構成:WebKit Documentation「Introduction」