summaryrefslogtreecommitdiffstats
path: root/chromium/docs/website/site/developers/Web-page-views/index.md
blob: 2370945dad23f5651c58376ece398853bd2c2097 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
---
breadcrumbs:
- - /developers
  - For Developers
page_name: Web-page-views
title: Web page views
---

Our original architecture did not have any platform separation in the browser
window and tab layer. WebContents contained a RenderViewHost, and that
implemented a great deal of both logic and view-related functionality.

We want to make this architecture cleaner and separate out the view from the
cross-platform logic. This document tracks the progress of this work.

## Current architecture

We have split out a variety of OS-specific views from WebContents. On Windows,
the objects look like this:

[<img alt="image"
src="/developers/Web-page-views/WebContents3.png">](/developers/Web-page-views/WebContents3.png)

The view-related calls from RenderViewHost to WebContentsView are removed from
WebContents completely by using a separate delegate. When RenderViewHost needs
to make a view-related call, it asks its delegate (through the
RenderViewHostDelegate interface) for the "View" delegate. This is implemented
by the WebContentsView.