Hooray! Ding dong the witch is dead! Congrats for finally reaching the
end of this.

-Ben

On Thu, Apr 23, 2009 at 11:02 PM, Brett Wilson <bre...@chromium.org> wrote:
>
> I just moved the remaining methods from WebContents to TabContents. I
> kept the methods and data members the same, just merged the classes,
> so it should be easy to find what you're looking for (or to resolve
> conflicts if you have local changes to web_contents.cc). Hopefully
> this will make the complexity in this area much more manageable.
>
> We still have a shell class called WebContents (derived from
> TabContents) and references to it, which are temporary so I don't have
> to immediately change all references to it. It will hopefully soon go
> away.
>
>
> FAQ: Why did we do this?
>
> Chromium 1 used a variety of specialized tab contents types which we
> wrote native interfaces for. This included the history and downloads
> page. TabContents was the base class providing shared functionality
> and an external API, and there were a variety of subclasses for the
> different tab types. WebContents was the TabContents specialization
> for web pages.
>
> There were several problems with this. The original idea is that our
> native UI would be more awesome than a web page could ever be. But it
> turned out to be teh suck because a variety of things didn't work
> (find in page, printing, selection) and because we didn't end up doing
> anything fancy in there anyway. With native UI, we would have to write
> it again for every platform, which nobody was excited about doing.
> There were also very difficult bugs associated with switching tab
> contents types. For example, in Chromium 1, if you go to the history
> page, navigate to a regular web page, go back, then navigate to a
> different regular web page, you would see a flash of the first web
> page during the second transition. This was the tab contents types
> being switched between a HistoryContents and a previously-used
> WebContents.
>
> So now we only display web pages inside tabs. This makes the switching
> problem go away. Glen rewrote history and downloads we be special web
> pages with additional permissions, and I did a whole heckuva lof of
> refactoring to delete all the old TabContents switching. We still swap
> RenderViewHosts inside the TabContents when we need to switch
> processes.
>
> Brett
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to