<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.7600.16700"></HEAD>
<BODY>
<DIV dir=ltr align=left><FONT color=#0000ff size=2 face=Arial><SPAN 
class=798101916-10022011>Hello again.</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT color=#0000ff size=2 face=Arial><SPAN 
class=798101916-10022011></SPAN></FONT> </DIV>
<DIV dir=ltr align=left><FONT color=#0000ff size=2 face=Arial><SPAN 
class=798101916-10022011>Regarding the events firing, and after some tests, it 
appears that, using the <EM>TryItYourself</EM> of the page</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT color=#0000ff size=2 face=Arial><SPAN 
class=798101916-10022011><A 
href="http://www.w3schools.com/jsref/event_onunload.asp">http://www.w3schools.com/jsref/event_onunload.asp</A></SPAN></FONT></DIV>
<DIV><FONT color=#0000ff size=2 face=Arial></FONT> </DIV>
<DIV><SPAN class=798101916-10022011><FONT color=#0000ff size=2 face=Arial>I 
followed an advised simple routine:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><FONT color=#0000ff size=2 face=Arial><SPAN 
class=798101916-10022011>-Open <EM>TryitYourself</EM> page in a <STRONG>new 
thumb</STRONG></SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT color=#0000ff size=2 face=Arial><SPAN 
class=798101916-10022011><EM>-Edit and click me</EM> button always works 
but<BR></SPAN></FONT><FONT color=#0000ff size=2 face=Arial><SPAN 
class=798101916-10022011>-Close the newly created thumb happens 
to...</SPAN></FONT></DIV>
<DIV><FONT color=#0000ff size=2 face=Arial></FONT> </DIV><SPAN 
class=798101916-10022011>
<DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN 
class=798101916-10022011>catches <EM>unload</EM> event on: </SPAN><BR><SPAN 
class=798101916-10022011> </SPAN>Safari<SPAN 
class=798101916-10022011>5.0.3</SPAN><SPAN class=798101916-10022011> & 
</SPAN>Firefox<SPAN class=798101916-10022011>3.6.13</SPAN><SPAN 
class=798101916-10022011> </SPAN><SPAN class=798101916-10022011>(</SPAN>MAC SNOW 
LEOPARD<SPAN class=798101916-10022011>)</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN 
class=798101916-10022011> </SPAN>Firefox<SPAN 
class=798101916-10022011>3.6.13</SPAN><SPAN class=798101916-10022011> 
</SPAN><SPAN class=798101916-10022011>(</SPAN>WINDOWS 7<SPAN 
class=798101916-10022011>)</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT color=#0000ff size=2 face=Arial></FONT> </DIV>
<DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT 
size=2><EM>unload</EM> evt<SPAN class=798101916-10022011> 
<STRONG>IS</STRONG></SPAN><STRONG> NOT <SPAN 
class=798101916-10022011>CATCH</SPAN>ED</STRONG><SPAN class=798101916-10022011> 
on:</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN 
class=798101916-10022011> </SPAN>Opera<SPAN 
class=798101916-10022011>11.01</SPAN><SPAN class=798101916-10022011> & 
</SPAN>Chromium<SPAN class=798101916-10022011>11.0.666.0</SPAN><SPAN 
class=798101916-10022011> </SPAN><SPAN class=798101916-10022011>(</SPAN>MAC SNOW 
LEOPARD<SPAN class=798101916-10022011>)</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN 
class=798101916-10022011> </SPAN>Safari<SPAN 
class=798101916-10022011>5.0.3</SPAN><SPAN class=798101916-10022011>, 
</SPAN>Chromium9.0.584.0<SPAN class=798101916-10022011> & </SPAN>Opera<SPAN 
class=798101916-10022011>11.01</SPAN></FONT></FONT></FONT><SPAN 
class=798101916-10022011><FONT color=#0000ff size=2 face=Arial> <SPAN 
class=798101916-10022011>(</SPAN>WINDOWS 7<SPAN 
class=798101916-10022011>)</SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=798101916-10022011><FONT color=#0000ff size=2 face=Arial><SPAN 
class=798101916-10022011></SPAN></FONT></SPAN> </DIV>
<DIV><SPAN class=798101916-10022011><SPAN class=798101916-10022011>
<DIV><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN 
class=798101916-10022011>(Safari doesn't react the same whether it runs on OSX 
or 7)</SPAN><BR>The event seems to be <U>lost</U> or <U>not sent</U> on page 
closure on most of these browsers (webkit ones too) <U>or, at least, not 
catchable</U> by any process after sending (maybe some precedence issue in 
the <SPAN class=798101916-10022011>page's </SPAN>closing 
steps).</FONT></FONT></FONT></SPAN></DIV></DIV>
<DIV></SPAN></SPAN><FONT color=#0000ff size=2 face=Arial></FONT><FONT 
color=#0000ff size=2 face=Arial></FONT><FONT color=#0000ff size=2 
face=Arial></FONT><FONT color=#0000ff size=2 face=Arial></FONT> </DIV>
<DIV><SPAN class=798101916-10022011><FONT color=#0000ff size=2 
face=Arial>Thanks.</FONT></SPAN></DIV>
<DIV><FONT color=#0000ff size=2 face=Arial></FONT><FONT color=#0000ff size=2 
face=Arial></FONT><FONT color=#0000ff size=2 face=Arial></FONT><FONT 
color=#0000ff size=2 face=Arial></FONT><BR></DIV>
<DIV dir=ltr lang=fr class=OutlookMessageHeader align=left>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><B>De :</B> webkit-dev-bounces@lists.webkit.org 
[mailto:webkit-dev-bounces@lists.webkit.org] <B>De la part de</B> Frédéric 
Lefebvre<BR><B>Envoyé :</B> mercredi 9 février 2011 
18:34<BR><B>À :</B> webkit-dev@lists.webkit.org<BR><B>Objet :</B> 
[webkit-dev] CSS cache and unfired events.<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=678245912-09022011>Hello.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=678245912-09022011></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=678245912-09022011>I'm currently 
working on a Webkit interface using an <EM>HTMLview</EM> filled 
with <EM>YUIlayout panels</EM> including an <EM>HTMLdocument</EM> to 
edit within.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=678245912-09022011></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=678245912-09022011>Once a change has 
been made to the <EM>HTMLdocument</EM>, we save the whole stuff in both CSS 
and HTML physical files.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=678245912-09022011></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=678245912-09022011>When reopening the 
interface, the HTML file is physicaly accessed but not the CSS and 
image files included in the HTML.  The cache prevails.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN class=678245912-09022011>Primary effect is 
that, though the HTML contents seem to be correctly brought back (from cache 
indeed), the styles are not up to date.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN class=678245912-09022011>Secondary effect is, 
on <EM>reload</EM> call, that the styles are updated but the HTML contents 
disappear.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN class=678245912-09022011></SPAN></FONT><FONT 
size=2 face=Arial><SPAN class=678245912-09022011></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=678245912-09022011>I would like to 
assure the cache is correctly flushed on page closure, but it appears that 
neither <EM>unload</EM> nor <EM>pagehide</EM> event is fired upon 
<EM>Page::~Page</EM> run in the Webkit core.  The page destructor closes 
backforward list then calls the <EM>PageCache::remove</EM> without finding 
any cached page for the <EM>HistoryItem</EM> passed and that's 
it.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=678245912-09022011></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=678245912-09022011>How could I ensure, 
from higher layers, that the CSS cache and HTML of the edited 
<EM>HTMLdocument</EM> are surely flushed from cache and not retrieved on 
subsequent calls without adding <EM>?val=random</EM> tricks in the URLs of 
DOM elements.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=678245912-09022011></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=678245912-09022011>Obviously 
<EM>no-cache</EM>, <EM>must-revalidate </EM>and all these 
obsolescence tricks are of no interest here since, even if the 
document has to be no-cache accessed on loading, we should be able to edit 
an ultimately cachable document.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=678245912-09022011></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=678245912-09022011>Any advice or clue 
welcome.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=678245912-09022011></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=678245912-09022011>Thanks</SPAN></FONT><FONT size=2 face=Arial><SPAN 
class=678245912-09022011>.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=678245912-09022011></SPAN></FONT> </DIV></BODY></HTML>