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 -~----------~----~----~----~------~----~------~--~---