[webkit-dev] "maintenance" to do list

Adam Barth hk9565 at gmail.com
Wed Feb 13 11:17:52 PST 2008

Hi Darin,

Another maintenance issue that's been discussed on IRC is that it
would be useful to clean up the FrameLoader class.  This might be more
involved than the other things on your list, but, as it stands, the
class is huge, fragile, and cannot process javascript: URIs correctly.

One possible design is to factor the class into four pieces:
1) A LoadingState class that encapsulates the loading state of the
frame (provisional, committed, open, etc) with a clear state machine,
2) A richer FrameLoadRequest that can accurately describe all frame
load requests (including the requestingPrincipal, etc),
3) A LoadRequester interface for requesting loads of various forms
whose job it is to prepare a FrameLoadRequest, and
4) A LoadEnacter class that enacts FrameLoadRequests and mutates the

This allows for a clean interposition of a policy layer between the
LoadRequester and LoadEnacter that can enforce the popup blocking
policy, the frame navigation policy, and the javascript: URI scripting
policy.  Currently, these checks are scattered throughout the class
and there is no way to accurately check if it is safe to execute a
javascript: during a targeted frame load (See Bug 16855).

There are also several other concepts included in the FrameLoader that
could profitably be factored out (history, shouldTreatURLAsLocal,
opener, etc).


On Feb 13, 2008 9:35 AM, Darin Adler <darin at apple.com> wrote:
> Hi folks.
> I just made a new page on the wiki with a list of "maintenance-type"
> tasks. I'm trying to capture the list of things to do that are always
> in my head but I don't always share with everyone else working on the
> project.
>      <http://trac.webkit.org/projects/webkit/wiki/Maintenance%20and%20architecture%20list
>  >
> I'd love to hear your thoughts on the items in this list. Feel free to
> either send me mail with suggestions or edit the wiki yourself if you
> like. I even think it would be OK to discuss a little bit here on the
> mailing list.
>      -- Darin
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo/webkit-dev

More information about the webkit-dev mailing list