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 LoadingState. 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). Adam On Feb 13, 2008 9:35 AM, Darin Adler <[EMAIL PROTECTED]> 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 > [email protected] > http://lists.webkit.org/mailman/listinfo/webkit-dev > _______________________________________________ webkit-dev mailing list [email protected] http://lists.webkit.org/mailman/listinfo/webkit-dev

