On Fri, Sep 25, 2009 at 1:46 PM, Adam Barth <abarth@webkit.org> wrote:
Every time I look at FrameLoader, it makes me cry.  I think I have
some time in my schedule to clean it up a bit.  I haven't studied the
code in detail, but my plan is as follows:

1) Separation of concerns.  FrameLoader has its fingers in a bunch of
different pies.  In this phase, I'll try to break FrameLoader up into
a bunch of smaller objects that are in charge of managing different
pots of state.

2) Explicit state machines.  FrameLoader holds a lot of state as bool
members.  In this phase, I'll try to convert these flags into an
explicit state machine with clear state graph.

3) API surface reduction.  FrameLoader has a large number of public
entry points.  In this phase, I'll reduce the API surface of the core
state machines to it's more clear where clients can enter the machine.

This is a big task, and I'm going to try to do it incrementally.  If
you have thoughts or would like input, let me know.

Thanks,
Adam


This sounds really wonderful.  I agree with Brady that more test coverage is
essential.  I'd also be happy to help review any patches related to this work!
-Darin