I am all for this. In fact I think we should go further and remove the "guess url that user typed because he/she can't type" code as well and while at it the dns prefetcher.
On Mon, Feb 14, 2011 at 09:37:19AM +0000, Stuart Henderson wrote: > As mentioned in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578019 > browsers using ports/www/webkit make a dns request for . each > time the mouse position changes. > > Chrome doesn't have this problem (it doesn't seem to have > this code in its internal copy of webkit). > > I tracked down a patch in https://bugs.webkit.org/show_bug.cgi?id=38263 > which fixes this. It seems a bit of a hack (why is it bothering to > look these up internally anyway?) but it's way better than what we > have now. > > With the port diff below, I can now start xxxterm or midori, open a > page, and move the mouse over the window, without sending hundreds or > thousands of junk requests to the nameserver. > > If you're using this on a metered or slow internet connection it's > quite an improvement... > > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/www/webkit/Makefile,v > retrieving revision 1.41 > diff -u -p -r1.41 Makefile > --- Makefile 30 Dec 2010 17:55:32 -0000 1.41 > +++ Makefile 14 Feb 2011 09:31:47 -0000 > @@ -4,6 +4,7 @@ COMMENT = open source web browser engine > > DISTNAME = webkit-1.2.6 > EPOCH = 0 > +REVISION = 0 > CATEGORIES = www > > HOMEPAGE = http://webkitgtk.org/ > Index: patches/patch-WebCore_platform_network_soup_DNSSoup_cpp > =================================================================== > RCS file: patches/patch-WebCore_platform_network_soup_DNSSoup_cpp > diff -N patches/patch-WebCore_platform_network_soup_DNSSoup_cpp > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-WebCore_platform_network_soup_DNSSoup_cpp 14 Feb 2011 > 09:31:47 -0000 > @@ -0,0 +1,16 @@ > +$OpenBSD$ > + > +don't try and resolve DNS for . for every single mouse movement > +in a browser window. from https://bugs.webkit.org/show_bug.cgi?id=38263 > + > +--- WebCore/platform/network/soup/DNSSoup.cpp.orig Sun Feb 13 17:45:39 2011 > ++++ WebCore/platform/network/soup/DNSSoup.cpp Sun Feb 13 17:46:05 2011 > +@@ -36,6 +36,8 @@ namespace WebCore { > + void prefetchDNS(const String& hostname) > + { > + #ifdef HAVE_LIBSOUP_2_29_90 > ++ if (hostname.isEmpty()) > ++ return; > + String uri = "http://"+hostname; > + GOwnPtr<SoupURI> soupURI(soup_uri_new(uri.utf8().data())); > + // We may get invalid hostnames, so NULL-check here. >