Quote:
I think all of it comes down to the fact that it they were written without the notion of ever having to implement something like this and all the implementations so far are (more or less) lousy hacks. A completely new browser implementation will probably be required with that as a design criterion before it's fixed.


I can't help but be reminded of thousands of arguements about policy enforcement vs. functional implementation in the Linux kernel. What's worked over and over again is to provide a new layer or interface for policy decisions and not try to extend pure functionalness to make special case decisions. Especially in a program like a web-browser there's no way any one engineer can understand all the myriad ways users will want the thing to behave.