Congrts, Brett! -- Erg.
On Fri, Apr 24, 2009 at 9:15 AM, Erik Kay <[email protected]> wrote: > > woot! > > On Thu, Apr 23, 2009 at 11:02 PM, Brett Wilson <[email protected]> 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: [email protected] View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~----------~----~----~----~------~----~------~--~---
