What is this TabContentsWrapper business?

6 views
Skip to first unread message

Ben Goodger (Google)

unread,
Nov 18, 2010, 12:23:19 PM11/18/10
to Chromium-dev
I have just landed a refactoring for pinkerton that creates a new class TabContentsWrapper and wires it up in many of the places in FE code that used to use TabContents.

What is this for?

The general idea is that we want to create a new low-level API for TabContents that is distinct from the set of functionality the Chrome browser wants to associate with a tab. There are many aspects to Chrome functionality that do not apply to other embedding cases such as ChromeFrame. The idea is to develop a minimal, stable API and then isolate it by making it flexible enough to handle the feature development that goes on in the various products that are built on Chromium source.

The role of TabContentsWrapper is to host all the Chrome browser-specific goop. TabContents will ultimately become this lower level piece and eventually be renamed to something more generic like WebPage and the code associated will migrate out of src/chrome/browser and into src/something_else. At that time TabContentsWrapper will likely be renamed back to TabContents since it will represent the contents of a Chrome browser tab.

This is the first step of this process. We will be migrating code from TabContents onto TabContentsWrapper over the next few weeks and months. In the interim there are accessors on TabContentsWrapper that allow access to the inner TabContents. You will notice a number of these sprinkled throughout the code. The idea is to eventually reduce this so it's not so messy.

John abd-el Malek is going to join this effort and figure out how to make it so we don't have to have core elements of the multiprocess renderer system (RenderViewHost, RenderViewHostDelegate, TabContents, TabContentsDelegate) know about every feature that needs to do IPC to the renderer.

We need to do some additional work to figure out what needs to belong in what component, and once we have made that determination we will likely require assistance moving code around. When we come and ask for help, please do so.

-Ben

Reply all
Reply to author
Forward
0 new messages