forwarded 578019 https://bugs.webkit.org/show_bug.cgi?id=38263 tag 578019 +patch thanks
On Sat, Mar 26, 2011 at 01:56:17PM +0100, Simon Paillard wrote: > On Sun, Mar 20, 2011 at 08:23:54PM +0100, Simon Paillard wrote: > > On Sun, Mar 20, 2011 at 03:44:28PM -0300, Gustavo Noronha Silva wrote: > > > On Sat, 2011-03-19 at 01:41 +0100, Simon Paillard wrote: > [..] > > > > - *each time the mouse is moved*, a DNS request is performed for the > > > > uri for the > > > > DOM object (so 0x00 for the background/already resolved, host for the > > > > link) !! > > > > > > This is WebKit pre-resolving DNS, but I still don't really understand > > > the 0x00 reference. In any case, Epiphany doesn't deal with network > > > directly, that is libsoup's domain, so I think we should reassign it > > > there, and perhaps get some testing on experimental's libsoup to see if > > > there's been any improvement. Could anyone help with this? > > > > This is easily reproducible (not tested in experimental yet). > > I don't know which is responsible to trigger this mecanism, but this is > > triggered everytime the mouse is moved, even when the object is kept the > > same. > > Is this under epiphany reponsability to cache results and not request them > > again and again to libsoup ? > > Same with sid webkit libwebkit-1.0-2 (1.2.7-2) And that is actually #578019. https://bug-38263-attachments.webkit.org/attachment.cgi?id=54769 (attached again) works and saves my laptop battery and name server. Given the impact and how simple is the patch, having this fix in stable would make epiphany more usable in stable.. BTW: git clone git://git.debian.org/git/pkg-webkit/webkit.git webkit ... [.. long long time ..] warning: remote HEAD refers to nonexistent ref, unable to checkout. -- Simon Paillard
--- WebCore/platform/network/soup/DNSSoup.cpp-orig 2010-04-29 01:26:06.048725419 +1000 +++ WebCore/platform/network/soup/DNSSoup.cpp 2010-04-29 14:28:55.731471025 +1000 @@ -36,6 +36,8 @@ 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.