<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>29021</bug_id>
          
          <creation_ts>2009-09-07 22:05:31 -0700</creation_ts>
          <short_desc>Explore allowing pages with unload handlers into the Page Cache</short_desc>
          <delta_ts>2010-01-26 07:51:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>ap</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>emacemac7</cc>
    
    <cc>eric</cc>
    
    <cc>jaffathecake</cc>
    
    <cc>klobag</cc>
    
    <cc>koivisto</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>matafagafo</cc>
    
    <cc>mrowe</cc>
    
    <cc>paul</cc>
    
    <cc>sam</cc>
    
    <cc>timothy</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>145261</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-09-07 22:05:31 -0700</bug_when>
    <thetext>We should explore allowing pages with unload handlers into the Page Cache.

Historically, we decided to discount these pages under the assumption that unload handlers do critical work.  Firefox seemed to follow suite a few years later, as evidenced by https://developer.mozilla.org/En/Using_Firefox_1.5_caching

In recent months, while exploring enhancements we can make to the page cache, it&apos;s become clear that *many* pages are discounted from our page cache because of unload handlers.  And - quite frankly - most of them don&apos;t do important work, don&apos;t do interesting work, or don&apos;t even do any work at all.

We&apos;ve now added the pagehide/pageshow events that Firefox added to help developers work around this page caching limitation.  Also, the landscape of the web has changed quite a bit since 2003.

We should explore whether or not keeping this limitation is worthwhile.  This exploration might be as simple as checking in the one line change that will allow these pages in to the page cache, and watch and see if anything important breaks.

In radar as &lt;rdar://problem/7196485&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146045</commentid>
    <comment_count>1</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-09-09 18:18:18 -0700</bug_when>
    <thetext>I would prefer if this went behind an ENABLE #define to allow ports to easily choose their behavior while this is still under investigation.  In general, this seems like it could impose a functional regression and one with subtle and hard to diagnose fallout at that, and thus giving flexibility during the exploration seems prudent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147248</commentid>
    <comment_count>2</comment_count>
      <attachid>39585</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-09-14 20:05:55 -0700</bug_when>
    <thetext>Created attachment 39585
Disable the unload handler check on Mac + Windows</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147249</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-09-14 20:06:56 -0700</bug_when>
    <thetext>Once this gets checked in, I have a blog post prepared that will discuss the state of the page cache, and put a call out to site/library developers to experiment and comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147250</commentid>
    <comment_count>4</comment_count>
      <attachid>39586</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-09-14 20:14:18 -0700</bug_when>
    <thetext>Created attachment 39586
Slightly better preprocessor style this time</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147251</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-09-14 21:33:52 -0700</bug_when>
    <thetext>Committed r48380: &lt;http://trac.webkit.org/changeset/48380&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147258</commentid>
    <comment_count>6</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2009-09-14 23:15:27 -0700</bug_when>
    <thetext>I think you mean http://trac.webkit.org/changeset/48388</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147259</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-09-14 23:27:15 -0700</bug_when>
    <thetext>Yes, I did, and I&apos;m never using bugzilla-tool again!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147308</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-15 09:40:22 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Yes, I did, and I&apos;m never using bugzilla-tool again!

Hum.  I&apos;ve never seen it post the wrong revision number like that, but I would love to find out why!  I&apos;ll follow up with you via email and file/fix any necessary bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147440</commentid>
    <comment_count>9</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-09-15 18:07:56 -0700</bug_when>
    <thetext>Re-opening, as this bug needs to track the possibility of putting this check back in to place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147740</commentid>
    <comment_count>10</comment_count>
      <attachid>39681</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-09-16 23:17:15 -0700</bug_when>
    <thetext>Created attachment 39681
Don&apos;t fire unload events when leaving a page if the document has been cached.

As long as we&apos;re running this experiment, lets run it right!  Don&apos;t fire unload events if the document was put in the Page Cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147742</commentid>
    <comment_count>11</comment_count>
      <attachid>39681</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-09-16 23:29:23 -0700</bug_when>
    <thetext>Comment on attachment 39681
Don&apos;t fire unload events when leaving a page if the document has been cached.

You sure this can&apos;t be tested?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147743</commentid>
    <comment_count>12</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-09-16 23:35:54 -0700</bug_when>
    <thetext>I can&apos;t think of a good way right now that wouldn&apos;t some *very* ugly hacking in WebCore simply for DRTs benefit.

Perhaps it&apos;s my lack of caffiene and sleep.  If I think of one in the morning, I&apos;ll add it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147744</commentid>
    <comment_count>13</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-09-16 23:37:03 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/48456</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147958</commentid>
    <comment_count>14</comment_count>
    <who name="Jake Archibald">jaffathecake</who>
    <bug_when>2009-09-17 15:39:37 -0700</bug_when>
    <thetext>You could save the page to the page cache, then fire the unload event and navigate away. If back is clicked, the page will be returned in the state it was BEFORE unload was fired. This gives you the best of both worlds. (this was suggested in Chrome&apos;s bug tracker)

If you&apos;re going to fire unload when the page is removed from memory (rather than when it is navigated away from) you need to be careful with &quot;Your work is unsaved, are you sure you want to navigate away?&quot; type messages. Applications like Gmail use these. However, the solution above works around this.

Also, (and webkit may do this already) you need to make sure the element that the mouse is currently over has its mouseout event fired. Else you might get sticky hover effects.

It&apos;s great that this is being looked into, as many js libraries use the unload event to clean up in IE &amp; prevent the sticky hover issue, breaking the page cache.

Jake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148965</commentid>
    <comment_count>15</comment_count>
    <who name="Paul Sowden">paul</who>
    <bug_when>2009-09-21 23:02:49 -0700</bug_when>
    <thetext>Hey, I just read the blog post over on Sufin&apos; Safari (really good btw) and I thought I&apos;d throw out our use case for the onunload event as a data point.

I work at Meebo and we have two pieces of JavaScript that make heavy use of this event, meebo.com and a Meebo chat bar that is syndicated on partner Web sites.  In both of these cases we&apos;re using long polling to maintain a connection to our servers to power IM presence for the user.  We use the onunload event to send a &quot;quit&quot; command to the server to log out of IM when the page is navigated away.

For meebo.com (which is a destination IM Web site) we also use the onbeforeunload event to warn the user that navigating from the page will cause their session to be disconnected.  When the user navigates away from the page we rely on the onunload event in order to disconnect the user from their session, and I actually think in this case it would be undesirable for the quick &quot;Page Cache&quot; backwards navigation, as this would imply that we would reconnect you to IM, when I feel like navigating away from this page should probably tear down the page and land you back on a blank slate if you were to navigate back.  Not firing the onunload event is also undesirable as you&apos;ll appear to stay online for another minute or two  after you&apos;ve left before our server times out the session.

For the Meebo chat bar (which is conceptually very similar to Facebook&apos;s chat bar) your presence should actually follow you based on whether you&apos;re on the page or not so in this case implementing the pageshow/pagehide events rather than the onunload event would be ideal, and I hope that we&apos;ll be able to do this in the not too distant future!

I hope these use cases are useful!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149310</commentid>
    <comment_count>16</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-09-22 21:01:56 -0700</bug_when>
    <thetext>On the flipside, meebo.com could use pagehide to disconnect and pageshow to reconnect you. This would let you keep the same IM &quot;windows&quot; open, and all other sate.

That is what I would expect as a meebo.com user. But I guess there are security concerns…</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152366</commentid>
    <comment_count>17</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-05 11:02:47 -0700</bug_when>
    <thetext>I assume this can be closed now that it&apos;s landed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152394</commentid>
    <comment_count>18</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-10-05 11:30:10 -0700</bug_when>
    <thetext>No.

Unfortunately bugzilla doesn&apos;t have a great notion of &quot;temporarily change the code in a given manner and track an experiment&quot;, but that&apos;s what we&apos;re doing here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152395</commentid>
    <comment_count>19</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-05 11:38:34 -0700</bug_when>
    <thetext>Sounds good.  I&apos;m going to clear the r+ flags since our &quot;to-be-committed&quot; queue doesn&apos;t understand &quot;temporary change in code to try an experiment&quot; either. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152396</commentid>
    <comment_count>20</comment_count>
      <attachid>39586</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-05 11:39:08 -0700</bug_when>
    <thetext>Comment on attachment 39586
Slightly better preprocessor style this time

Clearing darin&apos;s review on this obsolete patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152397</commentid>
    <comment_count>21</comment_count>
      <attachid>39681</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-05 11:39:25 -0700</bug_when>
    <thetext>Comment on attachment 39681
Don&apos;t fire unload events when leaving a page if the document has been cached.

Clearing sam&apos;s review now that this patch has been landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158219</commentid>
    <comment_count>22</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-10-27 09:43:11 -0700</bug_when>
    <thetext>We haven&apos;t seen a rash of bug reports in the WebKit project as we expected we might.  

But we do know:
-Disabling this exemption cause a couple of benchmark performance regressions
-Some important corporate intranet apps rely on the status-quo unload handler behavior, and this change breaks them.
-Other browsers have seen substantial negative effects in analytics/marketshare/usage numbers when they fired unload handlers less often than the status quo.

While the perf. regressions could be explored and fixed, then other two points are pretty damning.

For now I think we&apos;re re-enabling this check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158221</commentid>
    <comment_count>23</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-10-27 09:45:18 -0700</bug_when>
    <thetext>Re-enabled in http://trac.webkit.org/projects/webkit/changeset/50153

I&apos;ll close this bug for now.  If/when we come up with new ideas to improve this situation in the future, I&apos;ll file a new bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158226</commentid>
    <comment_count>24</comment_count>
    <who name="Jake Archibald">jaffathecake</who>
    <bug_when>2009-10-27 10:00:55 -0700</bug_when>
    <thetext>What about my earlier comment about caching the state of the page before unload? If it&apos;s being ignored because the comment should have been made elsewhere, let me know.

&quot;We haven&apos;t seen a rash of bug reports in the WebKit project as we expected we
might.&quot;

I&apos;m very surprised by this. The latest version of jQuery (1.3.2) detaches ALL event listeners on unload. This should have broken most interactivity on the page added via jQuery.

I&apos;ve just checked in the jQuery trunk, they&apos;ve changed this code so it only runs in IE, however that isn&apos;t in an official jQuery release yet.

&quot;Other browsers have seen substantial negative effects in
analytics/marketshare/usage numbers when they fired unload handlers less often
than the status quo.&quot;

Is this really a deal breaker? Shouldn&apos;t the priority be the user experience rather than usage stats? Could you work around this by sending an async request to the page after it&apos;s called back from the page cache?

&quot;Some important corporate intranet apps rely on the status-quo unload handler
behavior, and this change breaks them.&quot;

Do these also operate in standards mode? Either way, caching the state of the page before unload is called should solve this.

Jake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158240</commentid>
    <comment_count>25</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-10-27 10:18:02 -0700</bug_when>
    <thetext>I thought I replied to your suggestion when you originally made it.  Sometimes I fail at using bugzilla correctly  ;)

&quot;You could save the page to the page cache, then fire the unload event and
navigate away. If back is clicked, the page will be returned in the state it
was BEFORE unload was fired.&quot;

There&apos;s two major problems with this approach.
1 - It&apos;s technologically VERY very difficult.  No, not impossible, and we&apos;re not afraid of doing difficult things, but this would require a major re-architecturing of both JavaScripteCore and WebCore to accomplish.  A major undertaking that we&apos;d need to conclusively know was worth it.
2 - Loads and unloads need to be balance.  What you&apos;re suggesting opens the possibility that unload is fired twice (Or more!) for only a single corresponding load event.  This is bad(tm)  :)

&gt;Is this really a deal breaker? Shouldn&apos;t the priority be the user experience rather than usage stats?
It&apos;s not only usage stats - it&apos;s ALL negative side effects from us not running code that programmers think we&apos;ll run.  This whole experiment was about pushing the limits in balancing user experience and fulfilling an API contract with developers.  We learned a lot.  We raised awareness.  This is good for users in the long run.

&gt;Could you work around this by sending an async request to the page after it&apos;s called back from the page cache?
I encourage you to follow progress in https://bugs.webkit.org/show_bug.cgi?id=30457 and https://bugs.webkit.org/show_bug.cgi?id=30458.  But without some heuristic manner of determining all of the side effects of running an unload handler (which we most certainly do not have) that still doesn&apos;t solve the page cache problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168248</commentid>
    <comment_count>26</comment_count>
    <who name="Grace Kloba">klobag</who>
    <bug_when>2009-12-02 20:32:36 -0800</bug_when>
    <thetext>Brady, what happen if we call unload as before, which means reverting http://trac.webkit.org/changeset/48456, then we call m_document-&gt;dispatchWindowLoadEvent() in CachedFrameBase::restore(). This way, loadEvent and unloadEvent are balanced. Even unload may destroy some critical part, it is better than not cache at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168321</commentid>
    <comment_count>27</comment_count>
    <who name="Jake Archibald">jaffathecake</who>
    <bug_when>2009-12-03 01:21:49 -0800</bug_when>
    <thetext>It&apos;d be interesting to test, but I predict it would break pages.

It&apos;s very rare for an unload handler to be the opposite of a load handler. Load tends to be used to modify elements on the page &amp; start timers, unless people are reverting these things in unload, you&apos;ll start getting duplicates appearing on the page.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39585</attachid>
            <date>2009-09-14 20:05:55 -0700</date>
            <delta_ts>2009-09-14 20:14:18 -0700</delta_ts>
            <desc>Disable the unload handler check on Mac + Windows</desc>
            <filename>unloadHandler.txt</filename>
            <type>text/plain</type>
            <size>4376</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODM4MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMDktMDktMTQgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBh
Z2UgY2FjaGUgc2hvdWxkIHN1cHBvcnQgcGFnZXMgd2l0aCB1bmxvYWQgaGFuZGxlcnMgYXMgYW4g
ZXhwZXJpbWVudC4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxOTY0ODU+IGFuZCBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkwMjEKKworICAgICAgICBGb3IgdGhl
IGV4cGVyaW1lbnQsIG9ubHkgYWxsb3cgcGFnZXMgd2l0aCB1bmxvYWQgaGFuZGxlcnMgaW50byB0
aGUgUGFnZSBDYWNoZSBvbgorICAgICAgICBNYWMgYW5kIFdpbmRvd3MuCisKKyAgICAgICAgKiBs
b2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmNh
bkNhY2hlUGFnZUNvbnRhaW5pbmdUaGlzRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVM
b2FkZXI6OmxvZ0NhbkNhY2hlRnJhbWVEZWNpc2lvbik6CisKIDIwMDktMDktMTQgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHRoZSBjaGFuZ2Ug
aW4gcjQ4Mzc2IHRvIGRvIGEgbnVsbC1jaGVjayB0byBmaXggYSBjcmFzaGluZyB0ZXN0LgpJbmRl
eDogV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkocmV2aXNpb24gNDgzODApCisrKyBXZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMSw2ICsxMTEsMTAgQEAKICNp
bmNsdWRlICJTVkdWaWV3U3BlYy5oIgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpIHx8IFBM
QVRGT1JNKFdJTikKKyNkZWZpbmUgUEFHRV9DQUNIRV9BQ0NFUFRTX1VOTE9BRF9IQU5ETEVSUyAx
CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgRU5BQkxFKFNWRykKQEAgLTE4
NDgsNyArMTg1Miw5IEBAIGJvb2wgRnJhbWVMb2FkZXI6OmNhbkNhY2hlUGFnZUNvbnRhaW5pbmcK
ICAgICAgICAgLy8gdGhlIHJpZ2h0IE5QT2JqZWN0cy4gU2VlIDxyZGFyOi8vcHJvYmxlbS81MTk3
MDQxPiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KICAgICAgICAgJiYgIW1fY29udGFpbnNQbHVnSW5z
CiAgICAgICAgICYmICFtX1VSTC5wcm90b2NvbElzKCJodHRwcyIpCisjaWYgIWRlZmluZWQoUEFH
RV9DQUNIRV9BQ0NFUFRTX1VOTE9BRF9IQU5ETEVSUykKICAgICAgICAgJiYgKCFtX2ZyYW1lLT5k
b21XaW5kb3coKSB8fCAhbV9mcmFtZS0+ZG9tV2luZG93KCktPmhhc0V2ZW50TGlzdGVuZXIoZXZl
bnROYW1lcygpLnVubG9hZEV2ZW50KSkKKyNlbmRpZgogI2lmIEVOQUJMRShEQVRBQkFTRSkKICAg
ICAgICAgJiYgIW1fZnJhbWUtPmRvY3VtZW50KCktPmhhc09wZW5EYXRhYmFzZXMoKQogI2VuZGlm
CkBAIC0xOTkzLDggKzE5OTksMTAgQEAgYm9vbCBGcmFtZUxvYWRlcjo6bG9nQ2FuQ2FjaGVGcmFt
ZURlY2lzaQogICAgICAgICAgICAgeyBQQ0xPRygiICAgLUZyYW1lIGNvbnRhaW5zIHBsdWdpbnMi
KTsgY2Fubm90Q2FjaGUgPSB0cnVlOyB9CiAgICAgICAgIGlmIChtX1VSTC5wcm90b2NvbElzKCJo
dHRwcyIpKQogICAgICAgICAgICAgeyBQQ0xPRygiICAgLUZyYW1lIGlzIEhUVFBTIik7IGNhbm5v
dENhY2hlID0gdHJ1ZTsgfQorI2lmICFkZWZpbmVkKFBBR0VfQ0FDSEVfQUNDRVBUU19VTkxPQURf
SEFORExFUlMpCiAgICAgICAgIGlmIChtX2ZyYW1lLT5kb21XaW5kb3coKSAmJiBtX2ZyYW1lLT5k
b21XaW5kb3coKS0+aGFzRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkudW5sb2FkRXZlbnQpKQog
ICAgICAgICAgICAgeyBQQ0xPRygiICAgLUZyYW1lIGhhcyBhbiB1bmxvYWQgZXZlbnQgbGlzdGVu
ZXIiKTsgY2Fubm90Q2FjaGUgPSB0cnVlOyB9CisjZW5kaWYKICNpZiBFTkFCTEUoREFUQUJBU0Up
CiAgICAgICAgIGlmIChtX2ZyYW1lLT5kb2N1bWVudCgpLT5oYXNPcGVuRGF0YWJhc2VzKCkpCiAg
ICAgICAgICAgICB7IFBDTE9HKCIgICAtRnJhbWUgaGFzIG9wZW4gZGF0YWJhc2UgaGFuZGxlcyIp
OyBjYW5ub3RDYWNoZSA9IHRydWU7IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ4MzgzKQorKysgTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDkt
MDktMTQgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhZ2UgY2FjaGUgc2hvdWxkIHN1cHBv
cnQgcGFnZXMgd2l0aCB1bmxvYWQgaGFuZGxlcnMgYXMgYW4gZXhwZXJpbWVudC4KKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzcxOTY0ODU+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjkwMjEKKworICAgICAgICBEaXNhYmxlIGZhc3QvbG9hZGVyL2ZyYW1lcy13
aXRoLXVubG9hZC1oYW5kbGVycy1pbi1wYWdlLWNhY2hlLmh0bWwgYXMgaXQgZG9lc24ndAorICAg
ICAgICBtYWtlIHNlbnNlIGluIHRoZSBjb250ZXh0IG9mIHRoaXMgZXhwZXJpbWVudC4KKworICAg
ICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOiAKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tp
cHBlZDoKKwogMjAwOS0wOS0xNCAgQ2hyaXMgTWFycmluICA8Y21hcnJpbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
U2tpcHBlZAkocmV2aXNpb24gNDgzODApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tp
cHBlZAkod29ya2luZyBjb3B5KQpAQCAtMTAxLDMgKzEwMSw4IEBAIGZhc3QvbGF5ZXJzL3ZpZGVv
LWxheWVyLmh0bWwKIG1lZGlhL2F1ZGlvLWRlbGV0ZS13aGlsZS1zdGVwLWJ1dHRvbi1jbGlja2Vk
Lmh0bWwKIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLXRyYW5zZm9ybWVkLmh0bWwKIG1lZGlhL3ZpZGVv
LWNvbnRyb2xzLXpvb21lZC5odG1sCisKKyMgQXMgbG9uZyBhcyBwYWdlcyB3aXRoIHVubG9hZCBo
YW5kbGVycyBhcmUgcHV0IGluIHRoZSBQYWdlIENhY2hlLCB0aGlzIHRlc3QgZG9lc24ndCBtYWtl
IGFueSBzZW5zZSBmb3IgTWFjLgorIyA8cmRhcjovL3Byb2JsZW0vNzE5NjQ4NT4gYW5kIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTAyMQorZmFzdC9sb2FkZXIvZnJh
bWVzLXdpdGgtdW5sb2FkLWhhbmRsZXJzLWluLXBhZ2UtY2FjaGUuaHRtbAorCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vU2tpcHBlZAkocmV2aXNpb24gNDgzODApCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtNjYyLDMgKzY2Miw2IEBAIG1lZGlh
L3ZpZGVvLWNvbnRyb2xzLXpvb21lZC5odG1sCiAjIE1peGVkIGNvbnRlbnQgdGVzdHMgZmFpbGlu
ZyBvbiBXaW5kb3dzIDxodHRwOi8vd2Via2l0Lm9yZy9iLzI5MjEzPgogaHR0cC90ZXN0cy9zZWN1
cml0eS9taXhlZENvbnRlbnQKIAorIyBBcyBsb25nIGFzIHBhZ2VzIHdpdGggdW5sb2FkIGhhbmRs
ZXJzIGFyZSBwdXQgaW4gdGhlIFBhZ2UgQ2FjaGUsIHRoaXMgdGVzdCBkb2Vzbid0IG1ha2UgYW55
IHNlbnNlIGZvciBXaW5kb3dzLgorIyA8cmRhcjovL3Byb2JsZW0vNzE5NjQ4NT4gYW5kIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTAyMQorZmFzdC9sb2FkZXIvZnJh
bWVzLXdpdGgtdW5sb2FkLWhhbmRsZXJzLWluLXBhZ2UtY2FjaGUuaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39586</attachid>
            <date>2009-09-14 20:14:18 -0700</date>
            <delta_ts>2009-10-05 11:39:08 -0700</delta_ts>
            <desc>Slightly better preprocessor style this time</desc>
            <filename>unloadHandler.txt</filename>
            <type>text/plain</type>
            <size>4362</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODM4MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMDktMDktMTQgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBh
Z2UgY2FjaGUgc2hvdWxkIHN1cHBvcnQgcGFnZXMgd2l0aCB1bmxvYWQgaGFuZGxlcnMgYXMgYW4g
ZXhwZXJpbWVudC4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxOTY0ODU+IGFuZCBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkwMjEKKworICAgICAgICBGb3IgdGhl
IGV4cGVyaW1lbnQsIG9ubHkgYWxsb3cgcGFnZXMgd2l0aCB1bmxvYWQgaGFuZGxlcnMgaW50byB0
aGUgUGFnZSBDYWNoZSBvbgorICAgICAgICBNYWMgYW5kIFdpbmRvd3MuCisKKyAgICAgICAgKiBs
b2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmNh
bkNhY2hlUGFnZUNvbnRhaW5pbmdUaGlzRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVM
b2FkZXI6OmxvZ0NhbkNhY2hlRnJhbWVEZWNpc2lvbik6CisKIDIwMDktMDktMTQgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHRoZSBjaGFuZ2Ug
aW4gcjQ4Mzc2IHRvIGRvIGEgbnVsbC1jaGVjayB0byBmaXggYSBjcmFzaGluZyB0ZXN0LgpJbmRl
eDogV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkocmV2aXNpb24gNDgzODApCisrKyBXZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMSw2ICsxMTEsMTAgQEAKICNp
bmNsdWRlICJTVkdWaWV3U3BlYy5oIgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpIHx8IFBM
QVRGT1JNKFdJTikKKyNkZWZpbmUgUEFHRV9DQUNIRV9BQ0NFUFRTX1VOTE9BRF9IQU5ETEVSUwor
I2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJMRShTVkcpCkBAIC0xODQ4
LDcgKzE4NTIsOSBAQCBib29sIEZyYW1lTG9hZGVyOjpjYW5DYWNoZVBhZ2VDb250YWluaW5nCiAg
ICAgICAgIC8vIHRoZSByaWdodCBOUE9iamVjdHMuIFNlZSA8cmRhcjovL3Byb2JsZW0vNTE5NzA0
MT4gZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAgICAgICAgICYmICFtX2NvbnRhaW5zUGx1Z0lucwog
ICAgICAgICAmJiAhbV9VUkwucHJvdG9jb2xJcygiaHR0cHMiKQorI2lmbmRlZiBQQUdFX0NBQ0hF
X0FDQ0VQVFNfVU5MT0FEX0hBTkRMRVJTCiAgICAgICAgICYmICghbV9mcmFtZS0+ZG9tV2luZG93
KCkgfHwgIW1fZnJhbWUtPmRvbVdpbmRvdygpLT5oYXNFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMo
KS51bmxvYWRFdmVudCkpCisjZW5kaWYKICNpZiBFTkFCTEUoREFUQUJBU0UpCiAgICAgICAgICYm
ICFtX2ZyYW1lLT5kb2N1bWVudCgpLT5oYXNPcGVuRGF0YWJhc2VzKCkKICNlbmRpZgpAQCAtMTk5
Myw4ICsxOTk5LDEwIEBAIGJvb2wgRnJhbWVMb2FkZXI6OmxvZ0NhbkNhY2hlRnJhbWVEZWNpc2kK
ICAgICAgICAgICAgIHsgUENMT0coIiAgIC1GcmFtZSBjb250YWlucyBwbHVnaW5zIik7IGNhbm5v
dENhY2hlID0gdHJ1ZTsgfQogICAgICAgICBpZiAobV9VUkwucHJvdG9jb2xJcygiaHR0cHMiKSkK
ICAgICAgICAgICAgIHsgUENMT0coIiAgIC1GcmFtZSBpcyBIVFRQUyIpOyBjYW5ub3RDYWNoZSA9
IHRydWU7IH0KKyNpZm5kZWYgUEFHRV9DQUNIRV9BQ0NFUFRTX1VOTE9BRF9IQU5ETEVSUwogICAg
ICAgICBpZiAobV9mcmFtZS0+ZG9tV2luZG93KCkgJiYgbV9mcmFtZS0+ZG9tV2luZG93KCktPmhh
c0V2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnVubG9hZEV2ZW50KSkKICAgICAgICAgICAgIHsg
UENMT0coIiAgIC1GcmFtZSBoYXMgYW4gdW5sb2FkIGV2ZW50IGxpc3RlbmVyIik7IGNhbm5vdENh
Y2hlID0gdHJ1ZTsgfQorI2VuZGlmCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogICAgICAgICBpZiAo
bV9mcmFtZS0+ZG9jdW1lbnQoKS0+aGFzT3BlbkRhdGFiYXNlcygpKQogICAgICAgICAgICAgeyBQ
Q0xPRygiICAgLUZyYW1lIGhhcyBvcGVuIGRhdGFiYXNlIGhhbmRsZXMiKTsgY2Fubm90Q2FjaGUg
PSB0cnVlOyB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0ODM4MykKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDA5LTA5LTE0ICBCcmFkeSBF
aWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQYWdlIGNhY2hlIHNob3VsZCBzdXBwb3J0IHBhZ2VzIHdpdGgg
dW5sb2FkIGhhbmRsZXJzIGFzIGFuIGV4cGVyaW1lbnQuCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS83MTk2NDg1PiBhbmQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5
MDIxCisKKyAgICAgICAgRGlzYWJsZSBmYXN0L2xvYWRlci9mcmFtZXMtd2l0aC11bmxvYWQtaGFu
ZGxlcnMtaW4tcGFnZS1jYWNoZS5odG1sIGFzIGl0IGRvZXNuJ3QKKyAgICAgICAgbWFrZSBzZW5z
ZSBpbiB0aGUgY29udGV4dCBvZiB0aGlzIGV4cGVyaW1lbnQuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvU2tpcHBlZDogCisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMDkt
MDktMTQgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IE9saXZlciBIdW50LgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBw
ZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHJldmlz
aW9uIDQ4MzgwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHdvcmtpbmcg
Y29weSkKQEAgLTEwMSwzICsxMDEsOCBAQCBmYXN0L2xheWVycy92aWRlby1sYXllci5odG1sCiBt
ZWRpYS9hdWRpby1kZWxldGUtd2hpbGUtc3RlcC1idXR0b24tY2xpY2tlZC5odG1sCiBtZWRpYS92
aWRlby1jb250cm9scy10cmFuc2Zvcm1lZC5odG1sCiBtZWRpYS92aWRlby1jb250cm9scy16b29t
ZWQuaHRtbAorCisjIEFzIGxvbmcgYXMgcGFnZXMgd2l0aCB1bmxvYWQgaGFuZGxlcnMgYXJlIHB1
dCBpbiB0aGUgUGFnZSBDYWNoZSwgdGhpcyB0ZXN0IGRvZXNuJ3QgbWFrZSBhbnkgc2Vuc2UgZm9y
IE1hYy4KKyMgPHJkYXI6Ly9wcm9ibGVtLzcxOTY0ODU+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkwMjEKK2Zhc3QvbG9hZGVyL2ZyYW1lcy13aXRoLXVubG9h
ZC1oYW5kbGVycy1pbi1wYWdlLWNhY2hlLmh0bWwKKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Nr
aXBwZWQJKHJldmlzaW9uIDQ4MzgwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBw
ZWQJKHdvcmtpbmcgY29weSkKQEAgLTY2MiwzICs2NjIsNiBAQCBtZWRpYS92aWRlby1jb250cm9s
cy16b29tZWQuaHRtbAogIyBNaXhlZCBjb250ZW50IHRlc3RzIGZhaWxpbmcgb24gV2luZG93cyA8
aHR0cDovL3dlYmtpdC5vcmcvYi8yOTIxMz4KIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250
ZW50CiAKKyMgQXMgbG9uZyBhcyBwYWdlcyB3aXRoIHVubG9hZCBoYW5kbGVycyBhcmUgcHV0IGlu
IHRoZSBQYWdlIENhY2hlLCB0aGlzIHRlc3QgZG9lc24ndCBtYWtlIGFueSBzZW5zZSBmb3IgV2lu
ZG93cy4KKyMgPHJkYXI6Ly9wcm9ibGVtLzcxOTY0ODU+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkwMjEKK2Zhc3QvbG9hZGVyL2ZyYW1lcy13aXRoLXVubG9h
ZC1oYW5kbGVycy1pbi1wYWdlLWNhY2hlLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39681</attachid>
            <date>2009-09-16 23:17:15 -0700</date>
            <delta_ts>2009-10-05 11:39:25 -0700</delta_ts>
            <desc>Don&apos;t fire unload events when leaving a page if the document has been cached.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>1549</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODQ1NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDktMTYgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4
cGxvcmUgYWxsb3dpbmcgcGFnZXMgd2l0aCB1bmxvYWQgaGFuZGxlcnMgaW50byB0aGUgUGFnZSBD
YWNoZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjkw
MjEKKworICAgICAgICBObyBuZXcgdGVzdHMuIChBbGwgcHJldmlvdXMgdGVzdHMgY29udGludWUg
dG8gcGFzcykKKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3RvcExvYWRpbmcpOiBJZiB0aGUgZG9jdW1lbnQgaXMgaW4g
dGhlIHBhZ2UgY2FjaGUsIGRvbid0IGZpcmUgdGhlIHVubG9hZCBldmVudC4KKwogMjAwOS0wOS0x
NiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFu
ZGVycyBDYXJsc3Nvbi4KSW5kZXg6IFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHJldmlzaW9uIDQ4NDUz
KQorKysgV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
ODIsNyArNTgyLDggQEAgdm9pZCBGcmFtZUxvYWRlcjo6c3RvcExvYWRpbmcoVW5sb2FkRXZlbgog
ICAgICAgICAgICAgICAgIGlmIChtX2ZyYW1lLT5kb21XaW5kb3coKSkgewogICAgICAgICAgICAg
ICAgICAgICBpZiAodW5sb2FkRXZlbnRQb2xpY3kgPT0gVW5sb2FkRXZlbnRQb2xpY3lVbmxvYWRB
bmRQYWdlSGlkZSkKICAgICAgICAgICAgICAgICAgICAgICAgIG1fZnJhbWUtPmRvbVdpbmRvdygp
LT5kaXNwYXRjaFBhZ2VUcmFuc2l0aW9uRXZlbnQoRXZlbnROYW1lcygpLnBhZ2VoaWRlRXZlbnQs
IG1fZnJhbWUtPmRvY3VtZW50KCktPmluUGFnZUNhY2hlKCkpOwotICAgICAgICAgICAgICAgICAg
ICBtX2ZyYW1lLT5kb21XaW5kb3coKS0+ZGlzcGF0Y2hVbmxvYWRFdmVudCgpOworICAgICAgICAg
ICAgICAgICAgICBpZiAoIW1fZnJhbWUtPmRvY3VtZW50KCktPmluUGFnZUNhY2hlKCkpCisgICAg
ICAgICAgICAgICAgICAgICAgICBtX2ZyYW1lLT5kb21XaW5kb3coKS0+ZGlzcGF0Y2hVbmxvYWRF
dmVudCgpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBtX3VubG9hZEV2ZW50
QmVpbmdEaXNwYXRjaGVkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgaWYgKG1fZnJhbWUtPmRv
Y3VtZW50KCkpCg==
</data>
<flag name="commit-queue"
          id="20806"
          type_id="3"
          status="-"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>