<?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>3402</bug_id>
          
          <creation_ts>2005-06-09 21:13:14 -0700</creation_ts>
          <short_desc>unload event doesn&apos;t fire</short_desc>
          <delta_ts>2024-12-01 21:38:39 -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>DOM</component>
          <version>312.x</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.3</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brad">brkemper</reporter>
          <assigned_to name="Maciej Stachowiak">mjs</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>bugs-webkit</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>emacemac7</cc>
    
    <cc>eric</cc>
    
    <cc>george.zhu</cc>
    
    <cc>ian</cc>
    
    <cc>jsp</cc>
    
    <cc>karlcow</cc>
    
    <cc>kingsinsear6</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>rniwa</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>slewis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>11242</commentid>
    <comment_count>0</comment_count>
    <who name="Brad">brkemper</who>
    <bug_when>2005-06-09 21:13:14 -0700</bug_when>
    <thetext>most people are familiar with attaching javascript  to the loading of a page by having an onLoad 
parameter in the body tag of a page. There is also a parameter called onUnload that is supposed to 
work the same way, except it is supposed to fire when the page is closed (such as when a window is 
closed). In Safari it doesn&apos;t.  Non of the JavaScript code that is in the onUnload parameter of a body tag 
will be executed when the window is closed. But it should.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13481</commentid>
    <comment_count>1</comment_count>
      <attachid>2701</attachid>
    <who name="Jesse Pelton">jsp</who>
    <bug_when>2005-06-29 06:09:27 -0700</bug_when>
    <thetext>Created attachment 2701
Mondo test case

Safari is not alone in handling unload events unevenly.  This test case uses
multiple script-based approaches to setting an unload event handler on window
and body objects.  I tested with IE 6, Firefox 1.0.4, Opera 8.0, Konqueror 3.4,
and Safari 2.0.  Only Opera supported all the tested methods, but it invokes
body unload handlers multiple times.  Unfortunately, there is no single method
that works for all browsers.  I think that the ideal would be for all browsers
to support all the tested methods so script authors don&apos;t have to work out
which method works where, so I&apos;ll send this test case to the developers of all
the
browsers I tested.

Safari is, from my point of view, the worst offender.  All the other tested
browsers support setting an unload event on the window object (as allowed in
JavaScript since at least version 1.3), but Safari does not.  While neither
HTML 4.01 nor DOM 2 specifies an unload event for the window object, I think it
should nonetheless be supported: Netscape&apos;s JavaScript specification is the de
facto standard for the window object (since it&apos;s outside the domain of the W3C
specs), and other browsers implement it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13487</commentid>
    <comment_count>2</comment_count>
    <who name="Brad">brkemper</who>
    <bug_when>2005-06-29 09:07:50 -0700</bug_when>
    <thetext>That is a very useful table in the attachment. In all the variants shown, the onunload handler is set 
within a JavaScript block. One other case however, is having the handler built into the body tag as a 
parameter, like this:

&lt;body onUnload=&quot;someFunction()&quot;&gt; 

Theoretically, it would be handled the same as Variant 4 (body.onunload), but my experience shows 
that it does not fire at all in Safari when it is set that way and the window closes (at least in cases where 
the entire window is closed, not just the page).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31856</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-02-08 11:56:23 -0800</bug_when>
    <thetext>The attached test case doesn&apos;t currently work because of bug 7143.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38609</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-04-05 09:41:02 -0700</bug_when>
    <thetext>FWIW, a current build of WebKit (http://nightly.webkit.org) has the same behavior as Firefox 1.5 - tests 1 and 5 (and only those) pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38618</commentid>
    <comment_count>5</comment_count>
    <who name="Jesse Pelton">jsp</who>
    <bug_when>2006-04-05 11:04:38 -0700</bug_when>
    <thetext>That&apos;s progress of a sort, and it&apos;s probably sufficient unless the goal is complete support for W3C standards.  At least there&apos;s now one variant (the first) that works for all the browsers indicated in the test case.  While it would be cool if Safari could support variants 2, 3 and 4, only Opera supports 3 and 4, even though those appear to be mandated by the DOM standard.  (It turns out that Opera does not support variant 2, contrary to what the test case says.  I was misled by the browser&apos;s caching strategy.  Reloading the page before running variant 2 does not result in the unload handler being called.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38688</commentid>
    <comment_count>6</comment_count>
    <who name="Brad">brkemper</who>
    <bug_when>2006-04-06 08:07:17 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; FWIW, a current build of WebKit (http://nightly.webkit.org) has the same
&gt; behavior as Firefox 1.5 - tests 1 and 5 (and only those) pass.
&gt; 

Actually, #5 would be closest to setting explicitly in the HTML attribute. I just tested to see if having it in the HTML works now, and in the latest version (Version 2.0.3 (417.9.2)) it does! That is indeed good news. I personally think that is the most important one (along with being able to to the analogous &quot;setAttribute()&quot; in pure JavaScript (variant 5). Along with variant 1, this is enough for me as a developer/designer, and I think covers compatibility with the vast number of sites that use an unLoad event.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38689</commentid>
    <comment_count>7</comment_count>
    <who name="Brad">brkemper</who>
    <bug_when>2006-04-06 08:09:26 -0700</bug_when>
    <thetext>Oh, BTW, when I say &quot;latest version (Version 2.0.3 (417.9.2)) &quot;, I mean Safari, not WebKit. So this is already in production (yeah!).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36907</commentid>
    <comment_count>8</comment_count>
      <attachid>12237</attachid>
    <who name="George Zhu">george.zhu</who>
    <bug_when>2007-01-05 01:16:40 -0800</bug_when>
    <thetext>Created attachment 12237
Bug3402 test page

Bug3402 test page</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36908</commentid>
    <comment_count>9</comment_count>
      <attachid>12237</attachid>
    <who name="George Zhu">george.zhu</who>
    <bug_when>2007-01-05 01:19:51 -0800</bug_when>
    <thetext>Comment on attachment 12237
Bug3402 test page

I test it with Safari 2.0.4(419.3), onunload event fail to activate while in Firefox and IE, it works well. Is it a regression?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36914</commentid>
    <comment_count>10</comment_count>
      <attachid>12240</attachid>
    <who name="Jesse Pelton">jsp</who>
    <bug_when>2007-01-05 06:27:37 -0800</bug_when>
    <thetext>Created attachment 12240
Bug3402 test page (unzipped)

Unzipped the test case to simplify testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36915</commentid>
    <comment_count>11</comment_count>
    <who name="Jesse Pelton">jsp</who>
    <bug_when>2007-01-05 06:29:12 -0800</bug_when>
    <thetext>George&apos;s test case works for me with the same version of Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31186</commentid>
    <comment_count>12</comment_count>
    <who name="George Zhu">george.zhu</who>
    <bug_when>2007-01-28 23:16:54 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; George&apos;s test case works for me with the same version of Safari.
&gt; 

Hi, Jesse Pelton,
I finally find the difference, if I reload the document in Safari, yes, the event is activated. But if I click red close button on left top corner of the page, the event is not activate, which behaves differently from IE and Firefox...

So the problem can be describe as: onUnload event does not fire when user close the window.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31107</commentid>
    <comment_count>13</comment_count>
    <who name="Jesse Pelton">jsp</who>
    <bug_when>2007-01-29 05:12:11 -0800</bug_when>
    <thetext>It might or might not be a regression.  My &quot;mondo&quot; test case, while it has its uses, ignores this case, and seems to have focused attention on the cases it does cover.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30679</commentid>
    <comment_count>14</comment_count>
    <who name="George Zhu">george.zhu</who>
    <bug_when>2007-01-29 21:54:02 -0800</bug_when>
    <thetext>Ok, you are right, the problem mentioned here has already resolved, how to close it? 
On the other hand, I create a new bug 12469, you can find it here: http://bugs.webkit.org/show_bug.cgi?id=12469</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79909</commentid>
    <comment_count>15</comment_count>
      <attachid>21025</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2008-05-08 12:58:47 -0700</bug_when>
    <thetext>Created attachment 21025
Initial patch

Just a first stab at this bug. In fact it only is meant for the third problem
in the Mondo testcase, using addEventListener to register an unload event listener and then testing that it is called. I used the Mondo testcase to verify that this now works using the patch, however I would like to get some early feedback to a) get to know whether the approach is sane and b) whether there is a need to support the 2nd and 4th variant (which are the same problem).
*If* the approach is sane there may be some other help elements that may use the same technique, ie. all that use setHTMLWindowEventListener should have this third problem.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81409</commentid>
    <comment_count>16</comment_count>
      <attachid>21025</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-05-24 23:09:59 -0700</bug_when>
    <thetext>Comment on attachment 21025
Initial patch

The patch needs a test case for each of the events you&apos;re patching here; and we need to double check with other browsers behavior too.

Also, I don&apos;t think this is the correct approach. I don&apos;t think we want to add these listeners to both the body element and the window object. Instead we want to dispatch these events to both the window object and the body element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81419</commentid>
    <comment_count>17</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-05-24 23:50:03 -0700</bug_when>
    <thetext>If the event bubbles, then dispatching to the body will also dispatch to the window (effectively). I agree with darin that adding the event listeners twice does not seem right. The relevant events should either dispatch to the body and bubble, or dispatch twice (to the body, then the window).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81424</commentid>
    <comment_count>18</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2008-05-25 00:28:32 -0700</bug_when>
    <thetext>At the moment adding onunload events and onbeforeunload events as anything other than a windowEventListener means that the events will never be dispatched to the element.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481577</commentid>
    <comment_count>19</comment_count>
      <attachid>110502</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-10-11 05:41:06 -0700</bug_when>
    <thetext>Created attachment 110502
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481579</commentid>
    <comment_count>20</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-10-11 05:44:12 -0700</bug_when>
    <thetext>I was looking at this bug again and I don&apos;t think much is broken nowadays. The cases 2 and 4 of the mondo testcase actually work, provided a function object, not a string is handed over. Since the other implementations do not accept the string assignment either, but do accept the function object, I think it is correct to be strict here.
For case 3 I uploaded a new patch. If this seems like the right direction I can add some tests.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481666</commentid>
    <comment_count>21</comment_count>
      <attachid>110502</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-11 09:10:22 -0700</bug_when>
    <thetext>Comment on attachment 110502
Patch

Is this change correct? Why no test case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510340</commentid>
    <comment_count>22</comment_count>
      <attachid>110502</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-28 16:55:33 -0800</bug_when>
    <thetext>Comment on attachment 110502
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=110502&amp;action=review

&gt; Source/WebCore/ChangeLog:6
&gt; +        Fix addEventListener(&quot;unload&quot;) for body elements by propegating to the window object.

I&apos;m not sure if want to support document.body.addEventListener. It seems like it makes more sense to support document.body.setAttribute(&apos;onunload&apos;, ...).

&gt; Source/WebCore/ChangeLog:8
&gt; +        Reviewed by NOBODY (OOPS!).

This line should appear before the description.

&gt; Source/WebCore/ChangeLog:10
&gt; +        No new tests. (OOPS!)

We definitely need a test for this. r- because of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1889968</commentid>
    <comment_count>24</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-08-09 05:42:06 -0700</bug_when>
    <thetext>Latest test results based on both tests across browsers:

Test Case 1 - Bug3402 (unzipped)

*** Safari 15.6 on macOS 12.5 ***

It shows following in Console:

&gt;&gt;&gt; Use of window.alert is not allowed while unloading a page.

When I try to click button, it shows following:

ReferenceError: Can&apos;t find variable: Button1_onclick

*** Chrome Canary 106 *** 

No Console Warning / Error but when I try to click button, it shows same as Safari that &quot;Button1_onclick&quot; is not defined.

*** Firefox Nightly 105 ***

Same as Chrome - no console warning / error but just &quot;Button1_onclick&quot; not defined when clicking button.

____________

Test Case 2 - Mondo Test case

*** Safari 15.6 on macOS 12.5 ***

Variant 1 - Open &apos;about:blank&apos; on top of same tab (Also show same console warning / error as Test Case 1)

Variant 2 - Open &apos;about:blank&apos; on top of same tab

Variant 3 - Open &apos;about:blank&apos; on top of same tab

Variant 4 - Open &apos;about:blank&apos; on top of same tab

Variant 5 - Open &apos;about:blank&apos; on top of same tab (Also show same console warning / error as Test Case 1)

*** Chrome Canary 106 ***

Variant 1 - Open &apos;about:blank&apos; on top of same tab

Variant 2 - Open &apos;about:blank&apos; on top of same tab

Variant 3 - Open &apos;about:blank&apos; on top of same tab

Variant 4 - Open &apos;about:blank&apos; on top of same tab

Variant 5 - Open &apos;about:blank&apos; on top of same tab

*** Firefox Nightly 105 ***

Variant 1 - Open &apos;about:blank&apos; on top of same tab

Variant 2 - Open &apos;about:blank&apos; on top of same tab

Variant 3 - Open &apos;about:blank&apos; on top of same tab

Variant 4 - Open &apos;about:blank&apos; on top of same tab

Variant 5 - Open &apos;about:blank&apos; on top of same tab

______

Just wanted to share updated testing results, if you need me to test differently or different test case or it is covered via WPT and now working as intended. Please update the bug tag (e.g. RESOLVED CONFIGURATION CHANGED) or leave a comment. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2078405</commentid>
    <comment_count>25</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2024-12-01 21:38:39 -0800</bug_when>
    <thetext>That seems to work the same everywhere indeed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2701</attachid>
            <date>2005-06-29 06:09:27 -0700</date>
            <delta_ts>2005-06-29 06:09:27 -0700</delta_ts>
            <desc>Mondo test case</desc>
            <filename>ffbug2.html</filename>
            <type>text/html</type>
            <size>6871</size>
            <attacher name="Jesse Pelton">jsp</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFs
Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25h
bC5kdGQiPjxodG1sIGxhbmc9ImVuIiB4bWw6bGFuZz0iZW4iIHhtbG5zPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hodG1sIj4NCiAgPGhlYWQ+DQogICAgPG1ldGEgY29udGVudD0idGV4dC9odG1s
OyBjaGFyc2V0PVVURi04IiBodHRwLWVxdWl2PSJDb250ZW50LXR5cGUiLz4NCiAgICA8bWV0YSBj
b250ZW50PSJ0ZXh0L2phdmFzY3JpcHQiIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2NyaXB0LVR5cGUi
Lz4NCiAgICA8dGl0bGU+dW5sb2FkIGV2ZW50IHN1cHBvcnQgaXMgaW5jb21wbGV0ZTwvdGl0bGU+
DQogICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCiAgICAgIGRpdi5jbGlja21lDQogICAgICB7
DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYm9yZGVyOiAxcHggZG90dGVk
IGJsYWNrOw0KICAgICAgICBiYWNrZ3JvdW5kOiBzaWx2ZXI7DQogICAgICAgIHBhZGRpbmc6IC41
ZW07DQogICAgICB9DQoNCiAgICAgIHRyIHRkDQogICAgICB7DQogICAgICAgIHRleHQtYWxpZ246
IGNlbnRlcjsNCiAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4NCiAgICAgIGZ1bmN0aW9uIE9uQ2xpY2sodmFyaWFudCkNCiAgICAgIHsNCiAg
ICAgICAgdHJ5DQogICAgICAgIHsNCiAgICAgICAgICBzd2l0Y2ggKHZhcmlhbnQpDQogICAgICAg
ICAgew0KICAgICAgICAgICAgY2FzZSAxOg0KICAgICAgICAgICAgICBTZXRFdmVudEhhbmRsZXIo
d2luZG93LCAidW5sb2FkIiwgT25VbmxvYWQpOw0KICAgICAgICAgICAgICBicmVhazsNCiAgICAg
ICAgICAgIGNhc2UgMjoNCiAgICAgICAgICAgICAgd2luZG93Lm9udW5sb2FkID0gIk9uVW5sb2Fk
KCkiOw0KICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgMzoNCiAgICAgICAg
ICAgICAgU2V0RXZlbnRIYW5kbGVyKGRvY3VtZW50LmJvZHksICJ1bmxvYWQiLCBPblVubG9hZCk7
DQogICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgY2FzZSA0Og0KICAgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5Lm9udW5sb2FkID0gIk9uVW5sb2FkKCkiOw0KICAgICAgICAgICAgICBi
cmVhazsNCiAgICAgICAgICAgIGNhc2UgNToNCiAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5z
ZXRBdHRyaWJ1dGUoIm9udW5sb2FkIiwgIk9uVW5sb2FkKCkiKTsNCiAgICAgICAgICAgICAgYnJl
YWs7DQogICAgICAgICAgfQ0KICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9ICJhYm91dDpibGFu
ayI7DQogICAgICAgIH0NCiAgICAgICAgY2F0Y2ggKGUpDQogICAgICAgIHsNCiAgICAgICAgICBh
bGVydCgiZXhjZXB0aW9uIGluIE9uQ2xpY2soKTogXG4iICsgZSk7DQogICAgICAgIH0NCiAgICAg
IH0NCg0KICAgICAgZnVuY3Rpb24gT25VbmxvYWQoKQ0KICAgICAgeyAgICAgICAgICAgICAgICAg
IA0KICAgICAgICBhbGVydCgiU3VjY2VzcyEgIFRoZSB1bmxvYWQgaGFuZGxlciBpcyBjYWxsZWQu
Iik7DQogICAgICB9DQoNCiAgICAgIGZ1bmN0aW9uIFNldEV2ZW50SGFuZGxlcihlbG1UYXJnZXQs
IGV2ZW50LCBoYW5kbGVyKQ0KICAgICAgew0KICAgICAgICBpZiAoZWxtVGFyZ2V0KQ0KICAgICAg
ICB7DQogICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8NCiAgICAgICAgICAvLyBJZiB0aGUgRE9NIDIgYWRkRXZlbnRMaXN0ZW5l
ciBpbnRlcmZhY2UgaXMgc3VwcG9ydGVkLA0KICAgICAgICAgIC8vIHVzZSBpdCB0byBzZXQgdGhl
IGhhbmRsZXIuDQogICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8NCg0KICAgICAgICAgIGlmIChlbG1UYXJnZXQuYWRkRXZlbnRM
aXN0ZW5lcikNCiAgICAgICAgICAgIGVsbVRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBo
YW5kbGVyLCBmYWxzZSk7DQoNCiAgICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQogICAgICAgICAgLy8gSWYgdGhlIGFkZEV2
ZW50TGlzdGVuZXIgaW50ZXJmYWNlIGlzIG5vdCBzdXBwb3J0ZWQsIHVzZQ0KICAgICAgICAgIC8v
IHRoZSBJRSBhdHRhY2hFdmVudCBpbnRlcmZhY2UgaWYgaXQgaXMgYXZhaWxhYmxlLg0KICAgICAg
ICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8NCg0KICAgICAgICAgIGVsc2UgaWYgKGVsbVRhcmdldC5hdHRhY2hFdmVudCkNCiAgICAg
ICAgICAgIGVsbVRhcmdldC5hdHRhY2hFdmVudCgib24iICsgZXZlbnQsIGhhbmRsZXIpOw0KICAg
ICAgICB9DQogICAgICB9DQogICAgPC9zY3JpcHQ+DQogIDwvaGVhZD4NCiAgPGJvZHk+DQogICAg
PHA+DQogICAgICBVbmxvYWQgZXZlbnRzIG9ubHkgZ2V0IGhhbmRsZWQgd2hlbiBzZXQgdXAgY2Vy
dGFpbiB3YXlzLiAgRGlmZmVyZW50DQogICAgICBicm93c2VycyBzdXBwb3J0IGRpZmZlcmVudCBh
cHByb2FjaGVzLCBhbmQgbm8gYXBwcm9hY2ggd29ya3Mgd2l0aCBhbGwNCiAgICAgIGJyb3dzZXJz
LiAgVGhlIEhUTUwgNC4wMSBhbmQgRE9NIDIgc3BlY2lmaWNhdGlvbnMgaW5kaWNhdGUgdGhhdCBi
b2R5IGFuZA0KICAgICAgZnJhbWVzZXQgZWxlbWVudHMgZ2V0IHVubG9hZCAgZXZlbnRzLiAgQXMg
ZGV0YWlsZWQgaW4gdGhlIGZvbGxvd2luZw0KICAgICAgdGFibGUsIG5vIGJyb3dzZXIgZ2V0cyB0
aGlzIGNvbXBsZXRlbHkgcmlnaHQuICAoIngiIGluZGljYXRlcyB0aGUgdGVzdA0KICAgICAgcGFz
c2VkLCAiLSIgdGhhdCBpdCBmYWlsZWQuKSAgRm9sbG93aW5nIHRoZSB0YWJsZSBhcmUgYSBkZXNj
cmlwdGlvbiBvZg0KICAgICAgdGhlIHJlc3VsdHMsIHRoZW4gdGhlIHRlc3RzIHRoZW1zZWx2ZXMu
DQogICAgPC9wPg0KICAgIDx0YWJsZT4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPkJyb3dzZXI8
L3RkPg0KICAgICAgICA8dGQ+VmFyaWFudCAxPGJyLz4od2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
KTspPC90ZD4NCiAgICAgICAgPHRkPlZhcmlhbnQgMjxici8+KHdpbmRvdy5vbnVubG9hZCk8L3Rk
Pg0KICAgICAgICA8dGQ+VmFyaWFudCAzPGJyLz4oYm9keS5hZGRFdmVudExpc3RlbmVyKCk7KTwv
dGQ+DQogICAgICAgIDx0ZD5WYXJpYW50IDQ8YnIvPihib2R5Lm9udW5sb2FkKTwvdGQ+DQogICAg
ICAgIDx0ZD5WYXJpYW50IDU8YnIvPihib2R5LnNldEF0dHJpYnV0ZSgib251bmxvYWQiKTspPC90
ZD4NCiAgICAgIDwvdHI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD5JRTwvdGQ+DQogICAgICAg
IDx0ZD54PC90ZD4NCiAgICAgICAgPHRkPi08L3RkPg0KICAgICAgICA8dGQ+LTwvdGQ+DQogICAg
ICAgIDx0ZD4tPC90ZD4NCiAgICAgICAgPHRkPi08L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0
cj4NCiAgICAgICAgPHRkPktvbnF1ZXJvcjwvdGQ+DQogICAgICAgIDx0ZD54PC90ZD4NCiAgICAg
ICAgPHRkPi08L3RkPg0KICAgICAgICA8dGQ+eDwvdGQ+DQogICAgICAgIDx0ZD4tPC90ZD4NCiAg
ICAgICAgPHRkPng8L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPk1v
emlsbGE8L3RkPg0KICAgICAgICA8dGQ+eDwvdGQ+DQogICAgICAgIDx0ZD4tPC90ZD4NCiAgICAg
ICAgPHRkPi08L3RkPg0KICAgICAgICA8dGQ+LTwvdGQ+DQogICAgICAgIDx0ZD54PC90ZD4NCiAg
ICAgIDwvdHI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD5PcGVyYTwvdGQ+DQogICAgICAgIDx0
ZD54PC90ZD4NCiAgICAgICAgPHRkPng8L3RkPg0KICAgICAgICA8dGQ+eDwvdGQ+DQogICAgICAg
IDx0ZD54PC90ZD4NCiAgICAgICAgPHRkPng8L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4N
CiAgICAgICAgPHRkPlNhZmFyaTwvdGQ+DQogICAgICAgIDx0ZD4tPC90ZD4NCiAgICAgICAgPHRk
Pi08L3RkPg0KICAgICAgICA8dGQ+eDwvdGQ+DQogICAgICAgIDx0ZD54PC90ZD4NCiAgICAgICAg
PHRkPi08L3RkPg0KICAgICAgPC90cj4NCiAgICA8L3RhYmxlPg0KICAgIDxwPg0KICAgICAgSUUs
IEtvbnF1ZXJvciwgTW96aWxsYSwgYW5kIE9wZXJhIGFsbCBmaXJlIHRoZSB1bmxvYWQgZXZlbnQg
b24gdGhlDQogICAgICB3aW5kb3cgb2JqZWN0LiAgV2hpbGUgdGhpcyBpcyBvdXRzaWRlIHRoZSBk
b21haW4gb2YgdGhlIEhUTUwgYW5kIERPTSAyDQogICAgICBzcGVjaWZpY2F0aW9ucywgdGhpcyBp
cyB0aGUgbW9zdCB3aWRlbHkgc3VwcG9ydGVkIGFwcHJvYWNoLiAgT25seSBPcGVyYQ0KICAgICAg
c3VwcG9ydHMgc2V0dGluZyB3aW5kb3cub251bmxvYWQuDQogICAgPC9wPg0KICAgIDxwPg0KICAg
ICAgSUUgZG9lcyBub3Qgc3VwcG9ydCB0aGUgdW5sb2FkIGV2ZW50IG9uIHRoZSBib2R5IGVsZW1l
bnQuICBLb25xdWVyb3IsDQogICAgICBNb3ppbGxhLCBPcGVyYSwgYW5kIFNhZmFyaSBhbGwgZmly
ZSB0aGUgdW5sb2FkIGV2ZW50IGZvciB0aGUgYm9keQ0KICAgICAgZWxlbWVudCwgYnV0IGVhY2gg
aGFzIHF1aXJrcy4gIEtvbnF1ZXJvciwgTW96aWxsYSwgYW5kIFNhZmFyaSBkbyBub3QNCiAgICAg
IHN1cHBvcnQgYWxsIHRocmVlIHRlc3RlZCBtZXRob2RzIGZvciBlc3RhYmxpc2hpbmcgdGhlIGhh
bmRsZXIuICBPcGVyYQ0KICAgICAgZG9lcywgYnV0IGl0IGFsc28gcnVucyB0aGUgaGFuZGxlciBt
dWx0aXBsZSB0aW1lcy4NCiAgICA8L3A+DQogICAgPHA+DQogICAgICBBdCBwcmVzZW50LCB0aGVy
ZSBpcyBubyBzaW5nbGUgd2F5IHRvIGVzdGFibGlzaCBhbiB1bmxvYWQgaGFuZGxlciB0aGF0DQog
ICAgICB3b3JrcyBvbiBhbGwgdGhlIHRlc3RlZCBicm93c2Vycy4gIElkZWFsbHksIGFsbCBicm93
c2VycyB3b3VsZCBzdXBwb3J0DQogICAgICBhbGwgZml2ZSBzY2VuYXJpb3MgdGVzdGVkLiAgU2Fm
YXJpIHNob3VsZCBzdXBwb3J0IHRoZSBkZSBmYWN0byB3aW5kb3cNCiAgICAgIHVubG9hZCBldmVu
dCBoYW5kbGVyIChwYXJ0IG9mIEphdmFTY3JpcHQgc2luY2UgYXQgbGVhc3QgdmVyc2lvbiAxLjMp
LA0KICAgICAgSUUgc2hvdWxkIHN1cHBvcnQgdGhlIHN0YW5kYXJkaXplZCBib2R5IGFuZCBmcmFt
ZXNldCB1bmxvYWQgZXZlbnQsIGFuZA0KICAgICAgYWxsIGJyb3dzZXJzIHNob3VsZCBhbGxvdyB0
aGUgaGFuZGxlciB0byBiZSBlc3RhYmxpc2hlZCB1c2luZyBhbnkgb2YgdGhlDQogICAgICBtZXRo
b2RzIHVzZWQgaW4gdGhlIHRlc3RzIGJlbG93Lg0KICAgIDwvcD4NCiAgICA8cD4NCiAgICAgIEFs
bCB0aGUgdGVzdGVkIGJyb3dzZXJzIGZpcmUgYW4gZXhjZXB0aW9uIChhcHByb3ByaWF0ZWx5KSBp
Zg0KICAgICAgd2luZG93LnNldEF0dHJpYnV0ZSgpIGlzIGNhbGxlZCwgc28gdGhpcyBhcHByb2Fj
aCBpcyBvbWl0dGVkIGZyb20gdGhlDQogICAgICB0YWJsZS4NCiAgICA8L3A+DQogICAgPHA+DQog
ICAgICBJbiBlYWNoIG9mIHRoZSBmb2xsb3dpbmcgdGVzdHMsIGNsaWNraW5nIHRoZSBncmF5IGRp
diBzaG91bGQgcmVzdWx0IGluIGENCiAgICAgIHNpbmdsZSBhbGVydCBib3ggcG9wcGluZyB1cCBi
ZWZvcmUgYSBibGFuayBwYWdlIChhYm91dDpibGFuaykgaXMNCiAgICAgIGRpc3BsYXllZC4NCiAg
ICA8L3A+DQogICAgPGRpdiBjbGFzcz0iY2xpY2ttZSIgb25jbGljaz0iT25DbGljaygxKSI+Q2xp
Y2sgdG8gdGVzdCB1bmxvYWQgdmFyaWFudCAxPC9kaXY+DQogICAgPHA+DQogICAgICBWYXJpYW50
IDEgc2V0cyBhbiB1bmxvYWQgZXZlbnQgaGFuZGxlciBvbiB0aGUgd2luZG93IHVzaW5nIHRoZSBE
T00NCiAgICAgIGFkZEV2ZW50TGlzdGVuZXIoKSBtZXRob2QuICBJZiBhZGRFdmVudExpc3RlbmVy
KCkgaXMgbm90IGF2YWlsYWJsZSwgaXQNCiAgICAgIHVzZXMgdGhlIElFIGF0dGFjaEV2ZW50KCkg
bWV0aG9kLg0KICAgIDwvcD4NCiAgICA8ZGl2IGNsYXNzPSJjbGlja21lIiBvbmNsaWNrPSJPbkNs
aWNrKDIpIj5DbGljayB0byB0ZXN0IHVubG9hZCB2YXJpYW50IDI8L2Rpdj4NCiAgICA8cD4NCiAg
ICAgIFZhcmlhbnQgMiBzZXRzIHRoZSBoYW5kbGVyIG9uIHRoZSB3aW5kb3cgYnkgc2V0dGluZyB0
aGUgd2luZG93IG9iamVjdCdzDQogICAgICBvbmxvYWQgcHJvcGVydHkuDQogICAgPC9wPg0KICAg
IDxkaXYgY2xhc3M9ImNsaWNrbWUiIG9uY2xpY2s9Ik9uQ2xpY2soMykiPkNsaWNrIHRvIHRlc3Qg
dW5sb2FkIHZhcmlhbnQgMzwvZGl2Pg0KICAgIDxwPg0KICAgICAgVmFyaWFudCAzIHNldHMgdGhl
IGhhbmRsZXIgb24gdGhlIGJvZHkgZWxlbWVudCB1c2luZyBhZGRFdmVudExpc3RlbmVyKCkNCiAg
ICAgIG9yIGF0dGFjaEV2ZW50KCkuDQogICAgPC9wPg0KICAgIDxkaXYgY2xhc3M9ImNsaWNrbWUi
IG9uY2xpY2s9Ik9uQ2xpY2soNCkiPkNsaWNrIHRvIHRlc3QgdW5sb2FkIHZhcmlhbnQgNDwvZGl2
Pg0KICAgIDxwPg0KICAgICAgVmFyaWFudCA0IHNldHMgdGhlIGhhbmRsZXIgb24gdGhlIGJvZHkg
ZWxlbWVudCBieSBzZXR0aW5nIHRoZSBlbGVtZW50J3MNCiAgICAgIG9ubG9hZCBwcm9wZXJ0eS4N
CiAgICA8L3A+DQogICAgPGRpdiBjbGFzcz0iY2xpY2ttZSIgb25jbGljaz0iT25DbGljayg1KSI+
Q2xpY2sgdG8gdGVzdCB1bmxvYWQgdmFyaWFudCA1PC9kaXY+DQogICAgPHA+DQogICAgICBWYXJp
YW50IDUgc2V0cyB0aGUgaGFuZGxlciBvbiB0aGUgYm9keSBlbGVtZW50IGJ5IGNhbGxpbmcgc2V0
QXR0cmlidXRlKCkNCiAgICAgIHRvIHNldCB0aGUgZWxlbWVudCdzIG9ubG9hZCBwcm9wZXJ0eS4N
CiAgICA8L3A+DQogIDwvYm9keT4NCjwvaHRtbD4NCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>12237</attachid>
            <date>2007-01-05 01:16:40 -0800</date>
            <delta_ts>2007-01-05 01:16:40 -0800</delta_ts>
            <desc>Bug3402 test page</desc>
            <filename>Bug_3402_TetPage.zip</filename>
            <type>application/x-zip-compressed</type>
            <size>397</size>
            <attacher name="George Zhu">george.zhu</attacher>
            
              <data encoding="base64">UEsDBBQAAAAIAJ2IJTaghSf9GQEAAPgBAAAJAAAAdGVzdDMuaHRtZZGxbsMgEIZnW/I7nJiSoUFd
E+whHbp06FJ1jIi5NCQELHyksaq+e8F2G1ud4O7++4/vEEe6mKrIxRGlSidpMlidsXtyCgFv8tIY
FHxIF3lUtLXXDQF1DZaM8Eb8JK9yyLIoOQRbk3YW3rVV7vPNGifVYlnkX0WeZdKgpwXT8zJbbiZF
F+h/9TsN//PeOtXtXu7GnGctmsPK2dC3lNP+5D0aCD48NKHykTle99EOXC+Gkt151pM5Gwa/7nPN
nDPKWuoMRg3sZX3+8C5Y9VA74zysnz2ihU3ak2iqV49tC9J2EBe+Eto2kVyrkm0DkbOPbNzyvg8Z
XKUJk9DZ2uj6XDKPFHxcytC1G/OLJQNeCd70sAlxoE4//gNQSwECFAAUAAAACACdiCU2oIUn/RkB
AAD4AQAACQAAAAAAAAABACAAAAAAAAAAdGVzdDMuaHRtUEsFBgAAAAABAAEANwAAAEABAAAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>12240</attachid>
            <date>2007-01-05 06:27:37 -0800</date>
            <delta_ts>2007-01-05 06:27:37 -0800</delta_ts>
            <desc>Bug3402 test page (unzipped)</desc>
            <filename>test3.htm</filename>
            <type>text/html</type>
            <size>504</size>
            <attacher name="Jesse Pelton">jsp</attacher>
            
              <data encoding="base64">PGh0bWw+DQo8aGVhZD4NCjx0aXRsZT5rZXlDb2RlIGV4YW1wbGU8L3RpdGxlPg0KDQo8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQpmdW5jdGlvbiBXaW5kb3dVbmxvYWQoKQ0Kew0KCQlh
bGVydCgiaW4gV2luZG93VW5sb2FkIik7DQoJCWFsZXJ0KCJvdXQgV2luZG93VW5sb2FkIik7DQp9
DQoNCmZ1bmN0aW9uIEJvZHlfTG9hZCgpDQp7DQovLwlzZWxmLm9udW5sb2FkPVdpbmRvd1VubG9h
ZDsNCgkNCn0NCg0KPC9zY3JpcHQ+DQo8L2hlYWQ+DQoNCjxib2R5IG9ubG9hZCA9ImphdmFzY3Jp
cHQ6Qm9keV9Mb2FkKCk7IiBvbnVubG9hZCA9ImphdmFzY3JpcHQ6V2luZG93VW5sb2FkKCk7IiBz
dHlsZSA9IiBiYWNrZ3JvdW5kLWNvbG9yIDpHcmVlbiA7Ij4NCjxwPlByZXNzIGFueSBrZXkuPGlu
cHV0IGlkPSJCdXR0b24xIiB0eXBlPSJidXR0b24iIHZhbHVlPSJidXR0b24iIG9uY2xpY2s9InJl
dHVybiBCdXR0b24xX29uY2xpY2soKSIgLz48L3A+DQo8L2JvZHk+DQo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21025</attachid>
            <date>2008-05-08 12:58:47 -0700</date>
            <delta_ts>2011-10-11 05:41:00 -0700</delta_ts>
            <desc>Initial patch</desc>
            <filename>3402.diff</filename>
            <type>text/plain</type>
            <size>2964</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMjk4NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMDgtMDUtMDggIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDAyCisgICAgICAgIG9uVW5sb2FkIGV2ZW50
IGRvZXNuJ3QgZmlyZQorCisgICAgICAgIE1ha2Ugc2V0dGluZyBhbiBvbmxvYWQgZXZlbnQgbGlz
dGVuZXIgb24gYSBib2R5CisgICAgICAgIGVsZW1lbnQgZnJvbSBqcyB3b3JrLgorCisgICAgICAg
IFdBUk5JTkc6IE5PIFRFU1QgQ0FTRVMgQURERUQgT1IgQ0hBTkdFRAorCisgICAgICAgICogaHRt
bC9IVE1MQm9keUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEJvZHlFbGVtZW50
OjphZGRFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCb2R5RWxlbWVudDo6
cmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogaHRtbC9IVE1MQm9keUVsZW1lbnQuaDoK
KwogMjAwOC0wNS0wOCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcAko
cmV2aXNpb24gMzI5ODQpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2lu
Y2x1ZGUgIkhUTUxGcmFtZUVsZW1lbnRCYXNlLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisj
aW5jbHVkZSAiRXZlbnRMaXN0ZW5lci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTMw
MSw0ICszMDIsMjUgQEAgdm9pZCBIVE1MQm9keUVsZW1lbnQ6OmdldFN1YnJlc291cmNlQXR0cgog
ICAgIHVybHMuYXBwZW5kKGJhY2tncm91bmQoKSk7CiB9CiAKK3ZvaWQgSFRNTEJvZHlFbGVtZW50
OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVm
UHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyLCBib29sIHVzZUNhcHR1cmUpCit7CisgICAgUmVm
UHRyPEV2ZW50TGlzdGVuZXI+IHByb3RlY3QgPSBsaXN0ZW5lcjsKKyAgICBIVE1MRWxlbWVudDo6
YWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIHByb3RlY3QsIHVzZUNhcHR1cmUpOworICAgIGlm
IChldmVudFR5cGUgPT0gbG9hZEV2ZW50IHx8IGV2ZW50VHlwZSA9PSBiZWZvcmV1bmxvYWRFdmVu
dCB8fAorICAgICAgICBldmVudFR5cGUgPT0gdW5sb2FkRXZlbnQgfHwgZXZlbnRUeXBlID09IGJs
dXJFdmVudCB8fAorICAgICAgICBldmVudFR5cGUgPT0gZm9jdXNFdmVudCB8fCBldmVudFR5cGUg
PT0gcmVzaXplRXZlbnQgfHwKKyAgICAgICAgZXZlbnRUeXBlID09IHNjcm9sbEV2ZW50IHx8IGV2
ZW50VHlwZSA9PSBzdG9yYWdlRXZlbnQpCisgICAgICAgIGRvY3VtZW50KCktPmFkZFdpbmRvd0V2
ZW50TGlzdGVuZXIodW5sb2FkRXZlbnQsIHByb3RlY3QsIHVzZUNhcHR1cmUpOworfQorCit2b2lk
IEhUTUxCb2R5RWxlbWVudDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcm
IGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciogbGlzdGVuZXIsIGJvb2wgdXNlQ2FwdHVyZSkKK3sK
KyAgICBIVE1MRWxlbWVudDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVy
LCB1c2VDYXB0dXJlKTsKKyAgICBpZiAoZXZlbnRUeXBlID09IGxvYWRFdmVudCB8fCBldmVudFR5
cGUgPT0gYmVmb3JldW5sb2FkRXZlbnQgfHwKKyAgICAgICAgZXZlbnRUeXBlID09IHVubG9hZEV2
ZW50IHx8IGV2ZW50VHlwZSA9PSBibHVyRXZlbnQgfHwKKyAgICAgICAgZXZlbnRUeXBlID09IGZv
Y3VzRXZlbnQgfHwgZXZlbnRUeXBlID09IHJlc2l6ZUV2ZW50IHx8CisgICAgICAgIGV2ZW50VHlw
ZSA9PSBzY3JvbGxFdmVudCB8fCBldmVudFR5cGUgPT0gc3RvcmFnZUV2ZW50KQorICAgICAgICBk
b2N1bWVudCgpLT5yZW1vdmVXaW5kb3dFdmVudExpc3RlbmVyKHVubG9hZEV2ZW50LCBsaXN0ZW5l
ciwgdXNlQ2FwdHVyZSk7Cit9CisKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1l
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmgJKHJldmlz
aW9uIDMyOTg0KQorKysgV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC03Miw2ICs3Miw5IEBAIHB1YmxpYzoKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgZ2V0
U3VicmVzb3VyY2VBdHRyaWJ1dGVTdHJpbmdzKFZlY3RvcjxTdHJpbmc+JikgY29uc3Q7CiAgICAg
CisgICAgdmlydHVhbCB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBl
dmVudFR5cGUsIFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4sIGJvb2wgdXNlQ2FwdHVyZSk7Cisg
ICAgdmlydHVhbCB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBl
dmVudFR5cGUsIEV2ZW50TGlzdGVuZXIqLCBib29sIHVzZUNhcHR1cmUpOworCiBwcm90ZWN0ZWQ6
CiAgICAgUmVmUHRyPENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uPiBtX2xpbmtEZWNsOwogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110502</attachid>
            <date>2011-10-11 05:41:06 -0700</date>
            <delta_ts>2011-11-28 16:55:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-3402-20111011084105.patch</filename>
            <type>text/plain</type>
            <size>3690</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcxMTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmMGE0NmZhMTZmODBmMTMy
ZDk1ZjI2MTE4NWJhMDYzMmJlZmVlMzJjLi40NWJiNmQ0OWE3YTA2YmExNTc1NmY3MDBjMDIwN2Zh
Y2Q3ZDZlYWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMTAtMTEgIFJvYiBC
dWlzICA8cmJ1aXNAcmltLmNvbT4KKworICAgICAgICBvblVubG9hZCBldmVudCBkb2Vzbid0IGZp
cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0MDIK
KworICAgICAgICBGaXggYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIikgZm9yIGJvZHkgZWxlbWVu
dHMgYnkgcHJvcGVnYXRpbmcgdG8gdGhlIHdpbmRvdyBvYmplY3QuCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisK
KyAgICAgICAgKiBodG1sL0hUTUxCb2R5RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpp
c0tub3duV2luZG93RXZlbnRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCb2R5RWxlbWVu
dDo6YWRkRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogaHRtbC9IVE1MQm9keUVsZW1lbnQuaDoK
KwogMjAxMS0xMC0xMCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8xMDI0NjEzNz4gRHVwbGljYXRlIDo6YWZ0ZXIgY29udGVudCB3aGVu
IGJvdGggOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgYXJlIHN0eWxlZCBhcyB0YWJsZSBwYXJ0cwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCmluZGV4IGRmM2ZjZDgxNmM0M2FhZjJh
YzM3NzU2ODU5Njk5MTcwOTdlYmE5MWQuLjNkYWQwOTY3NDNlNjM5NjY2NzgwNGU1MGFjNzY3ZTMz
MDE1OGE1ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAKQEAgLTM1
Nyw0ICszNTcsMzkgQEAgdm9pZCBIVE1MQm9keUVsZW1lbnQ6OmRpZE1vdmVUb05ld093bmVyRG9j
dW1lbnQoKQogICAgIEhUTUxFbGVtZW50OjpkaWRNb3ZlVG9OZXdPd25lckRvY3VtZW50KCk7CiB9
CiAKK3N0YXRpYyBib29sIGlzS25vd25XaW5kb3dFdmVudFR5cGUoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChIYXNoU2V0PEF0b21pY1N0
cmluZ0ltcGwqPiwga25vd25XaW5kb3dFdmVudFR5cGVzLCAoKSk7CisgICAgaWYgKGtub3duV2lu
ZG93RXZlbnRUeXBlcy5pc0VtcHR5KCkpIHsKKyAgICAgICAga25vd25XaW5kb3dFdmVudFR5cGVz
LmFkZChldmVudE5hbWVzKCkubG9hZEV2ZW50LmltcGwoKSk7CisgICAgICAgIGtub3duV2luZG93
RXZlbnRUeXBlcy5hZGQoZXZlbnROYW1lcygpLmJlZm9yZXVubG9hZEV2ZW50LmltcGwoKSk7Cisg
ICAgICAgIGtub3duV2luZG93RXZlbnRUeXBlcy5hZGQoZXZlbnROYW1lcygpLnVubG9hZEV2ZW50
LmltcGwoKSk7CisgICAgICAgIGtub3duV2luZG93RXZlbnRUeXBlcy5hZGQoZXZlbnROYW1lcygp
LnBhZ2VoaWRlRXZlbnQuaW1wbCgpKTsKKyAgICAgICAga25vd25XaW5kb3dFdmVudFR5cGVzLmFk
ZChldmVudE5hbWVzKCkucGFnZXNob3dFdmVudC5pbXBsKCkpOworICAgICAgICBrbm93bldpbmRv
d0V2ZW50VHlwZXMuYWRkKGV2ZW50TmFtZXMoKS5wb3BzdGF0ZUV2ZW50LmltcGwoKSk7CisgICAg
ICAgIGtub3duV2luZG93RXZlbnRUeXBlcy5hZGQoZXZlbnROYW1lcygpLmJsdXJFdmVudC5pbXBs
KCkpOworICAgICAgICBrbm93bldpbmRvd0V2ZW50VHlwZXMuYWRkKGV2ZW50TmFtZXMoKS5mb2N1
c0V2ZW50LmltcGwoKSk7CisjaWYgRU5BQkxFKE9SSUVOVEFUSU9OX0VWRU5UUykKKyAgICAgICAg
a25vd25XaW5kb3dFdmVudFR5cGVzLmFkZChldmVudE5hbWVzKCkub3JpZW50YXRpb25jaGFuZ2VF
dmVudC5pbXBsKCkpOworI2VuZGlmCisgICAgICAgIGtub3duV2luZG93RXZlbnRUeXBlcy5hZGQo
ZXZlbnROYW1lcygpLmhhc2hjaGFuZ2VFdmVudC5pbXBsKCkpOworICAgICAgICBrbm93bldpbmRv
d0V2ZW50VHlwZXMuYWRkKGV2ZW50TmFtZXMoKS5yZXNpemVFdmVudC5pbXBsKCkpOworICAgICAg
ICBrbm93bldpbmRvd0V2ZW50VHlwZXMuYWRkKGV2ZW50TmFtZXMoKS5zY3JvbGxFdmVudC5pbXBs
KCkpOworICAgICAgICBrbm93bldpbmRvd0V2ZW50VHlwZXMuYWRkKGV2ZW50TmFtZXMoKS5zZWxl
Y3Rpb25jaGFuZ2VFdmVudC5pbXBsKCkpOworICAgICAgICBrbm93bldpbmRvd0V2ZW50VHlwZXMu
YWRkKGV2ZW50TmFtZXMoKS5zdG9yYWdlRXZlbnQuaW1wbCgpKTsKKyAgICAgICAga25vd25XaW5k
b3dFdmVudFR5cGVzLmFkZChldmVudE5hbWVzKCkub25saW5lRXZlbnQuaW1wbCgpKTsKKyAgICAg
ICAga25vd25XaW5kb3dFdmVudFR5cGVzLmFkZChldmVudE5hbWVzKCkub2ZmbGluZUV2ZW50Lmlt
cGwoKSk7CisgICAgfQorICAgIHJldHVybiBrbm93bldpbmRvd0V2ZW50VHlwZXMuY29udGFpbnMo
ZXZlbnRUeXBlLmltcGwoKSk7Cit9CisKK2Jvb2wgSFRNTEJvZHlFbGVtZW50OjphZGRFdmVudExp
c3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPEV2ZW50TGlz
dGVuZXI+IGxpc3RlbmVyLCBib29sIHVzZUNhcHR1cmUpCit7CisgICAgaWYgKGlzS25vd25XaW5k
b3dFdmVudFR5cGUoZXZlbnRUeXBlKSkgeworICAgICAgICBkb2N1bWVudCgpLT5zZXRXaW5kb3dB
dHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIpOworICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIE5vZGU6OmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRU
eXBlLCBsaXN0ZW5lciwgdXNlQ2FwdHVyZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5oCmluZGV4IDQwYWI4Y2M3ZmI1MzBiZDQy
MTk3ZDhkNGIxNDQ3M2MyNDQwNDU2YmYuLmQ5YTMxM2U2NjI1NDA0YzliOTEyYzNkNDg2NWI0OTg4
NmNmNGM2NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaApAQCAtNjcsNiAr
NjcsOCBAQCBwdWJsaWM6CiAgICAgREVGSU5FX1dJTkRPV19BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIob3JpZW50YXRpb25jaGFuZ2UpOwogI2VuZGlmCiAKKyAgICB2aXJ0dWFsIGJvb2wgYWRkRXZl
bnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxFdmVu
dExpc3RlbmVyPiwgYm9vbCB1c2VDYXB0dXJlKTsKKwogcHJpdmF0ZToKICAgICBIVE1MQm9keUVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAK
</data>
<flag name="review"
          id="108027"
          type_id="1"
          status="-"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>