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

Reply via email to