<?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>36395</bug_id>
          
          <creation_ts>2010-03-19 16:08:29 -0700</creation_ts>
          <short_desc>[Qt] Patch to add support for Content-Disposition...</short_desc>
          <delta_ts>2010-03-30 09:08:48 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>35784</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Dawit A.">adawit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>202075</commentid>
    <comment_count>0</comment_count>
      <attachid>51199</attachid>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-19 16:08:29 -0700</bug_when>
    <thetext>Created attachment 51199
Content-Disposition support

The attached file is an attempt to fix missing support for the Content-Disposition header in QtWebKit. Currently, this HTTP header is blissfully ignored by QtWebKit and causes problems for all clients that rely on it as a rendering engine. 

The attached patch attempts to resolve this issue and is based on the way this issue is handled in the chromium source code. Basically the patch checks for the presence of a content-disposition header and changes the resource handling policy to PolicyDownload. This forces any content that is supposed to be downloaded, i.e. contains the &quot;attachement&quot; keyword in the header, to be reported as unsupportedContent to the client using this library.

There is one cavet with the patch I provided here. Because the patch forces the request to be treated as a download request, the action the user took (e.g. clicking on a link), will be ignored by default unless forwarding unsupportedContent signal is enabled and handled. One possible solution to this would be to simply add a new signal, e.g. QWebPage::downloadResponse (QNetworkReply*) or QWebPage::downloadRequest(QNetworkReply*). Then &quot;void FrameLoaderClientQt::download(...)&quot; could be amended to emit the new signal when the &quot;Content-Disposition&quot; header is detected. This is only a couple of line of additional code in the afforementioned function. However, that depends on whether or not a.) the patch is accepted and b.) simply sending unsupportedContent is not acceptable inorder to support the content-disposition header.

Finally here is a test site for checking &quot;Content-Disposition&quot; support in your rendering engine/browser of choice:

http://greenbytes.de/tech/tc2231/

Regards,
Dawit A.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202251</commentid>
    <comment_count>1</comment_count>
      <attachid>51235</attachid>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-20 16:07:47 -0700</bug_when>
    <thetext>Created attachment 51235
Alternate patch as described in the original report...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202364</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-21 16:17:38 -0700</bug_when>
    <thetext>Nice!

Any chance of providing a layout test for this, maybe using an HTTP layout test or a synthetic network-access manager in the unit tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202367</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-21 16:19:31 -0700</bug_when>
    <thetext>From an API perspective the first solution sounds better to me than the second one, which I feel may be confusing. Is it just me? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202368</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-21 16:20:22 -0700</bug_when>
    <thetext>BTW, either patch is missing a ChangeLog and if you&apos;d like reviewers to take a look at the patches, please mark them as available for review with the &quot;review?&quot; flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202382</commentid>
    <comment_count>5</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-21 17:59:01 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Nice!
&gt; 
&gt; Any chance of providing a layout test for this, maybe using an HTTP layout test
&gt; or a synthetic network-access manager in the unit tests?

I have no idea how to do this... Can you please give me a hint where such unit test is supposed to be added ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202383</commentid>
    <comment_count>6</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-21 18:02:22 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; BTW, either patch is missing a ChangeLog and if you&apos;d like reviewers to take a
&gt; look at the patches, please mark them as available for review with the
&gt; &quot;review?&quot; flag.

Where does one mark the patches with the review flag ? Find the changelog file though ; so I will go ahead and provide an patch that updates that as well...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202384</commentid>
    <comment_count>7</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-21 19:19:31 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #2)
&gt; &gt; Nice!
&gt; &gt; 
&gt; &gt; Any chance of providing a layout test for this, maybe using an HTTP layout test
&gt; &gt; or a synthetic network-access manager in the unit tests?
&gt; 
&gt; I have no idea how to do this... Can you please give me a hint where such unit
&gt; test is supposed to be added ?

Unit tests for our API goes into WebKit/qt/tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202385</commentid>
    <comment_count>8</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-21 19:21:15 -0700</bug_when>
    <thetext>
&gt; Where does one mark the patches with the review flag ? Find the changelog file
&gt; though ; so I will go ahead and provide an patch that updates that as well...

Click on &quot;details&quot; next to your patch. You can also do it when you attach a new attachment.

Please generate ChangeLog using WebKitTools/Script/prepare-ChangeLog

Also, always check coding style using WebKitTools/Script/check-webkit-style

That should get you going :-) Great patch btw!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202387</commentid>
    <comment_count>9</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-21 20:01:54 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; From an API perspective the first solution sounds better to me than the second
&gt; one, which I feel may be confusing. Is it just me? :)

The problem with the first solution is that QWebPage::unsupportedContent is not
emitted by default unless the client application explicitly enables it by
invoking QWebPage::setForwardUnsupportedContent. To me this seems to be an  impedement because the &quot;Content-Disposition&quot; header is a common way web servers indicate that a resource is supposed to be downloaded and not rendered by default. 
As such, the handling of request that contain the &quot;content-disposition&quot; header should not be left up to a signal that is only emitted whenever a client application explicitly enables it. Furthermore, client applications are likely to handle unsupported content and download requests differently and having a single signal to deal with these two different issues seems to go against standard Qt API practise, no ? Anyhow, regardless of the chosen approach, the signal that gets emitted as result of encountering this header should IMHO need to be ON by default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202388</commentid>
    <comment_count>10</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-21 20:17:31 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; &gt; Where does one mark the patches with the review flag ? Find the changelog file
&gt; &gt; though ; so I will go ahead and provide an patch that updates that as well...
&gt; 
&gt; Click on &quot;details&quot; next to your patch. You can also do it when you attach a new
&gt; attachment.
&gt; 
&gt; Please generate ChangeLog using WebKitTools/Script/prepare-ChangeLog

Cannot use this at all since I am working off of a weekly snapshot and not a git-clone of the qtwebkit respository. 

&gt; Also, always check coding style using WebKitTools/Script/check-webkit-style

Did this and fixed only a single problem sort of related to my patch. However, my changes seem to be in files that the script deems exempt from such checks. I am talking about the qwebpage.* files specifically.

&gt; That should get you going :-) Great patch btw!

Thanks for both ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202392</commentid>
    <comment_count>11</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-21 20:35:48 -0700</bug_when>
    <thetext>Please do not set r+ but r? !

r+ means that it was reviewed positively, but you want to request a review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202394</commentid>
    <comment_count>12</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-21 20:42:30 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Please do not set r+ but r? !
&gt; 
&gt; r+ means that it was reviewed positively, but you want to request a review.

Got it. Done...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202395</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-21 20:43:41 -0700</bug_when>
    <thetext>Attachment 51199 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
Total errors found: 0 in 0 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202396</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-21 20:44:04 -0700</bug_when>
    <thetext>Attachment 51235 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
Total errors found: 0 in 0 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202768</commentid>
    <comment_count>15</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-22 14:44:57 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #8)
&gt; &gt; &gt; Where does one mark the patches with the review flag ? Find the changelog file
&gt; &gt; &gt; though ; so I will go ahead and provide an patch that updates that as well...
&gt; &gt; 
&gt; &gt; Click on &quot;details&quot; next to your patch. You can also do it when you attach a new
&gt; &gt; attachment.
&gt; &gt; 
&gt; &gt; Please generate ChangeLog using WebKitTools/Script/prepare-ChangeLog
&gt; 
&gt; Cannot use this at all since I am working off of a weekly snapshot and not a
&gt; git-clone of the qtwebkit respository. 

Then you&apos;ll have to create the ChangeLog entry yourself.

But why not get a git clone of WebKit or use svn directly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202771</commentid>
    <comment_count>16</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-22 14:49:29 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #3)
&gt; &gt; From an API perspective the first solution sounds better to me than the second
&gt; &gt; one, which I feel may be confusing. Is it just me? :)
&gt; 
&gt; The problem with the first solution is that QWebPage::unsupportedContent is not
&gt; emitted by default unless the client application explicitly enables it by
&gt; invoking QWebPage::setForwardUnsupportedContent. To me this seems to be an 
&gt; impedement because the &quot;Content-Disposition&quot; header is a common way web servers
&gt; indicate that a resource is supposed to be downloaded and not rendered by
&gt; default. 
&gt; As such, the handling of request that contain the &quot;content-disposition&quot; header
&gt; should not be left up to a signal that is only emitted whenever a client
&gt; application explicitly enables it. Furthermore, client applications are likely
&gt; to handle unsupported content and download requests differently and having a
&gt; single signal to deal with these two different issues seems to go against
&gt; standard Qt API practise, no ? Anyhow, regardless of the chosen approach, the
&gt; signal that gets emitted as result of encountering this header should IMHO need
&gt; to be ON by default.

Either approach requires changes in the application.

The approach of adding an overloaded signal requires us to do _magic_ in WebKit, i.e. detect if someone is connected to the signal and otherwise _cancel_ the QNetworkReply&apos;s download. We had _exactly_ that problem with the unsupportedContent signal during the API design and decided against magic, as it tends to get in the programmer&apos;s way.

So I&apos;m in favour of a solution that is consistent to the existing API, which is why I like your first patch. It can be documented - in the class or module overview - when unsupportedContent() is emitted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202775</commentid>
    <comment_count>17</comment_count>
      <attachid>51199</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-22 14:53:24 -0700</bug_when>
    <thetext>Comment on attachment 51199
Content-Disposition support

I prefer this approach, but instead of duplicating the code from WebKit/chromium/src/FrameLoaderClientImpl.cpp it should be moved into a common method in WebCore, maybe WebCore/platform/network/HTTPParser.*.

Also this patch is missing a ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202780</commentid>
    <comment_count>18</comment_count>
      <attachid>51235</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-22 14:55:25 -0700</bug_when>
    <thetext>Comment on attachment 51235
Alternate patch as described in the original report...

This patch is also missing a ChangeLog.

My main issue with it is that the reply isn&apos;t cancelled if the application forgets to connect to the right overloaded(!) signal.

Despite the goal of mapping the attachment to a download, I think the approach of is more confusing that the first patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202801</commentid>
    <comment_count>19</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-22 15:36:07 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #9)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; From an API perspective the first solution sounds better to me than the second
&gt; &gt; &gt; one, which I feel may be confusing. Is it just me? :)
&gt; &gt; 
&gt; &gt; The problem with the first solution is that QWebPage::unsupportedContent is not
&gt; &gt; emitted by default unless the client application explicitly enables it by
&gt; &gt; invoking QWebPage::setForwardUnsupportedContent. To me this seems to be an 
&gt; &gt; impedement because the &quot;Content-Disposition&quot; header is a common way web servers
&gt; &gt; indicate that a resource is supposed to be downloaded and not rendered by
&gt; &gt; default. 
&gt; &gt; As such, the handling of request that contain the &quot;content-disposition&quot; header
&gt; &gt; should not be left up to a signal that is only emitted whenever a client
&gt; &gt; application explicitly enables it. Furthermore, client applications are likely
&gt; &gt; to handle unsupported content and download requests differently and having a
&gt; &gt; single signal to deal with these two different issues seems to go against
&gt; &gt; standard Qt API practise, no ? Anyhow, regardless of the chosen approach, the
&gt; &gt; signal that gets emitted as result of encountering this header should IMHO need
&gt; &gt; to be ON by default.
&gt; 
&gt; Either approach requires changes in the application.
&gt; 
&gt; The approach of adding an overloaded signal requires us to do _magic_ in
&gt; WebKit, i.e. detect if someone is connected to the signal and otherwise
&gt; _cancel_ the QNetworkReply&apos;s download. We had _exactly_ that problem with the
&gt; unsupportedContent signal during the API design and decided against magic, as
&gt; it tends to get in the programmer&apos;s way.
&gt; 
&gt; So I&apos;m in favour of a solution that is consistent to the existing API, which is
&gt; why I like your first patch. It can be documented - in the class or module
&gt; overview - when unsupportedContent() is emitted.

Well that is fine by me... The issue can indeed be solved through documenting that unsupportedContent signal is emitted whenever a &quot;content-disposition&quot; header is encountered as well...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202807</commentid>
    <comment_count>20</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-22 15:43:19 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 51199 [details])
&gt; I prefer this approach, but instead of duplicating the code from
&gt; WebKit/chromium/src/FrameLoaderClientImpl.cpp it should be moved into a common
&gt; method in WebCore, maybe WebCore/platform/network/HTTPParser.*.
&gt; 
&gt; Also this patch is missing a ChangeLog.

The code that deals with the detecting &quot;content-disposition&quot; can indeed be moved into a common location instead of being duplicated. I did it this way because a.) I did not know where to factor the code out to and more importantly I did not think it would be okay to modify the codebase of another client which we would have to if we factor the code out. 

Anyhow, I will move the code out to a common location WebCore/platform/network/HTTPParsers.* as you suggest and provide a new patch based on that. I will also provide a ChangeLog entry for my changes...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202811</commentid>
    <comment_count>21</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-22 15:50:59 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #8)
&gt; &gt; &gt; &gt; Where does one mark the patches with the review flag ? Find the changelog file
&gt; &gt; &gt; &gt; though ; so I will go ahead and provide an patch that updates that as well...
&gt; &gt; &gt; 
&gt; &gt; &gt; Click on &quot;details&quot; next to your patch. You can also do it when you attach a new
&gt; &gt; &gt; attachment.
&gt; &gt; &gt; 
&gt; &gt; &gt; Please generate ChangeLog using WebKitTools/Script/prepare-ChangeLog
&gt; &gt; 
&gt; &gt; Cannot use this at all since I am working off of a weekly snapshot and not a
&gt; &gt; git-clone of the qtwebkit respository. 
&gt; 
&gt; Then you&apos;ll have to create the ChangeLog entry yourself.
&gt; 
&gt; But why not get a git clone of WebKit or use svn directly?

Too slow a connection to clone 1GB repository compare to downloading a 21.4 MB tar ball :) I did not know you can use svn to obtain the sources though. Can you do that ? I did not see anything about that here: 

https://trac.webkit.org/wiki/QtWebKitContrib</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202820</commentid>
    <comment_count>22</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-22 16:07:16 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (In reply to comment #15)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; (In reply to comment #8)
&gt; &gt; &gt; &gt; &gt; Where does one mark the patches with the review flag ? Find the changelog file
&gt; &gt; &gt; &gt; &gt; though ; so I will go ahead and provide an patch that updates that as well...
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Click on &quot;details&quot; next to your patch. You can also do it when you attach a new
&gt; &gt; &gt; &gt; attachment.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Please generate ChangeLog using WebKitTools/Script/prepare-ChangeLog
&gt; &gt; &gt; 
&gt; &gt; &gt; Cannot use this at all since I am working off of a weekly snapshot and not a
&gt; &gt; &gt; git-clone of the qtwebkit respository. 
&gt; &gt; 
&gt; &gt; Then you&apos;ll have to create the ChangeLog entry yourself.
&gt; &gt; 
&gt; &gt; But why not get a git clone of WebKit or use svn directly?
&gt; 
&gt; Too slow a connection to clone 1GB repository compare to downloading a 21.4 MB
&gt; tar ball :) I did not know you can use svn to obtain the sources though. Can
&gt; you do that ? I did not see anything about that here: 
&gt; 
&gt; https://trac.webkit.org/wiki/QtWebKitContrib

Absolutely. WebKit is still developed in SVN, it just happens that many developers prefer to use git(-svn) on top of it, especially the ones on slow connections :)

The normal WebKit instructions apply, see

http://webkit.org/building/checkout.html

So you can also just get the tarball and continue svn up from there or do a fresh (slow) svn co.

Most of the the scripts - prepare-ChangeLog, webkit-patch, etc. - work with svn and git.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202911</commentid>
    <comment_count>23</comment_count>
      <attachid>51391</attachid>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-22 21:37:04 -0700</bug_when>
    <thetext>Created attachment 51391
Updated Content-Disposition patch...

Updated patch with requested changes including appropriate ChangeLog modifications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202912</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-22 21:40:46 -0700</bug_when>
    <thetext>Attachment 51391 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
Total errors found: 0 in 0 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202913</commentid>
    <comment_count>25</comment_count>
      <attachid>51392</attachid>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-22 21:48:41 -0700</bug_when>
    <thetext>Created attachment 51392
Updated Content-Disposition patch II

The same patch as 51391 except this one contains changes to the chromium source tree that makes it use the factored out code as well...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202914</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-22 21:51:14 -0700</bug_when>
    <thetext>Attachment 51392 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
Total errors found: 0 in 0 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203437</commentid>
    <comment_count>27</comment_count>
      <attachid>51510</attachid>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-24 09:13:56 -0700</bug_when>
    <thetext>Created attachment 51510
Updated Content-Disposition path III

Perhaps third time is the charm...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203458</commentid>
    <comment_count>28</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-24 10:08:53 -0700</bug_when>
    <thetext>Simon, should we make the release block on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204081</commentid>
    <comment_count>29</comment_count>
      <attachid>51644</attachid>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-25 08:53:08 -0700</bug_when>
    <thetext>Created attachment 51644
Updated Content-Disposition patch IV

The previous patch 51510 was incorrectly generated against qtwebkit-4.6. This new patch is generated against the qtwebkit-2.0 branch and obsoletes the previous version. Note that nothing of substance was changes from the previous patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205229</commentid>
    <comment_count>30</comment_count>
      <attachid>51644</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-28 13:50:15 -0700</bug_when>
    <thetext>Comment on attachment 51644
Updated Content-Disposition patch IV

Patch looks good to me, but before landing we have to preserve Google&apos;s copyright when moving the function!

Also we still don&apos;t have a test for this :-(

Dawit, do you want to follow up with a patch that removes the original from WebKit/chromium and makes it use the new function from WebCore?

The build bots may help to make sure that your patch actually builds on chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205270</commentid>
    <comment_count>31</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-28 17:36:06 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; (From update of attachment 51644 [details])
&gt; Patch looks good to me, but before landing we have to preserve Google&apos;s
&gt; copyright when moving the function!
&gt; 
&gt; Also we still don&apos;t have a test for this :-(

Looked into adding a test case for this, but do not know where to begin. I most definitely need help in adding a test case for this. My test of the patch was exclusively done using kwebkitpart which passes all the tests in the link I gave in my original report. Ofcourse that is not relevant for qtwebkit. Anyhow, I need help with creating the test case...

&gt; Dawit, do you want to follow up with a patch that removes the original from
&gt; WebKit/chromium and makes it use the new function from WebCore?

Actually I provided a patch to chromium&apos;s source tree in the 51392 attachment but I retracted it thinking I was not supposed to do that... Anyhow, I most definitely can provide an updated patch with the chromium source tree change ; specially since I have finally relented and cloned the qtwebkit git repository.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205274</commentid>
    <comment_count>32</comment_count>
      <attachid>51873</attachid>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-28 18:08:38 -0700</bug_when>
    <thetext>Created attachment 51873
Updated Content-Disposition patch V

Added the chromium source code changes as requested...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205305</commentid>
    <comment_count>33</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-29 00:01:32 -0700</bug_when>
    <thetext>Attachment 51873 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/ChangeLog:13:  Line contains tab character.  [whitespace/tab] [5]
WebCore/ChangeLog:14:  Line contains tab character.  [whitespace/tab] [5]
WARNING: File exempt from style guide. Skipping: &quot;WebKit/qt/Api/qwebpage.cpp&quot;
WebKit/chromium/ChangeLog:5:  Line contains tab character.  [whitespace/tab] [5]
WebKit/chromium/ChangeLog:8:  Line contains tab character.  [whitespace/tab] [5]
WebKit/chromium/ChangeLog:9:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 5 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205421</commentid>
    <comment_count>34</comment_count>
      <attachid>51905</attachid>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-29 06:55:48 -0700</bug_when>
    <thetext>Created attachment 51905
Updated Content-Disposition patch VI

Guess the bot style checker script is smarter than WebKitTools/Scripts/check-webkit-style since the later did not find any style errors when checking the previous patch. Anyhow, here is the same patch with the style issues fixed and Google&apos;s copyright added to HTTPParsers.*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205428</commentid>
    <comment_count>35</comment_count>
      <attachid>51905</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-29 07:23:25 -0700</bug_when>
    <thetext>Comment on attachment 51905
Updated Content-Disposition patch VI

Looks good to me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205569</commentid>
    <comment_count>36</comment_count>
      <attachid>51644</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-29 11:37:03 -0700</bug_when>
    <thetext>Comment on attachment 51644
Updated Content-Disposition patch IV

Cleared Simon Hausmann&apos;s review+ from obsolete attachment 51644 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205747</commentid>
    <comment_count>37</comment_count>
      <attachid>51905</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-29 16:58:09 -0700</bug_when>
    <thetext>Comment on attachment 51905
Updated Content-Disposition patch VI

Clearing flags on attachment: 51905

Committed r56750: &lt;http://trac.webkit.org/changeset/56750&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205748</commentid>
    <comment_count>38</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-29 16:58:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205787</commentid>
    <comment_count>39</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-03-29 18:20:14 -0700</bug_when>
    <thetext>I emailed webkit-dev the following:

Since two platforms now share this same code in their WebKit layers, it seems okay that this was moved into some shared location.  But I have a few gripes:

HTTPParsers is about parsing HTTP, not implementing policy.  A better place is probably ResourceResponse itself.

But as written the method implements a client policy.  This reeks of breaking the layering between WebCore and WebKit.  I would feel a lot better about it if the method was:
String ResourceResponseBase::contentDispositionType() const;

...and then the clients made their own decision based on that.  Safari actually does this, for example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205812</commentid>
    <comment_count>40</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-29 19:44:55 -0700</bug_when>
    <thetext>(In reply to comment #39)
&gt; I emailed webkit-dev the following:
&gt; 
&gt; Since two platforms now share this same code in their WebKit layers, it seems
&gt; okay that this was moved into some shared location.  But I have a few gripes:
&gt; 
&gt; HTTPParsers is about parsing HTTP, not implementing policy.  A better place is
&gt; probably ResourceResponse itself.
&gt;
&gt; But as written the method implements a client policy.  This reeks of breaking
&gt; the layering between WebCore and WebKit.  I would feel a lot better about it if
&gt; the method was:
&gt; String ResourceResponseBase::contentDispositionType() const;

Though I have no particular objection to where this functionality ends up, I do not see how determining the type of content disposition is any different from determining the filename from the content-disposition header. In fact the filename portion of this header might be completely useless depending on the type attribute (inline or attachment or nothing). And since the code that determines the filename 

String filenameFromHTTPContentDisposition(const String&amp;);

already exists in this very same file, would it not make sense to have the other one here too ? Perhaps changing how it is implemented would ease the gripes you have with it ? How about changing it to

bool HTTPParsers::isAttachmentContentDisposition(const String&amp;) ; 

OR

enum ContentDispositionType
{
     Inline,
     Attachment
};

int HTTPParsers::contentDispositionType(const String&amp;);

instead ?

Regards,
Dawit A.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205828</commentid>
    <comment_count>41</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-03-29 20:48:37 -0700</bug_when>
    <thetext>(In reply to comment #40)
&gt; (In reply to comment #39)
&gt; 
&gt; &gt;
&gt; &gt; But as written the method implements a client policy.  This reeks of breaking
&gt; &gt; the layering between WebCore and WebKit.  I would feel a lot better about it if
&gt; &gt; the method was:
&gt; &gt; String ResourceResponseBase::contentDispositionType() const;
&gt; 
&gt; Though I have no particular objection to where this functionality ends up, I do
&gt; not see how determining the type of content disposition is any different from
&gt; determining the filename from the content-disposition header. In fact the
&gt; filename portion of this header might be completely useless depending on the
&gt; type attribute (inline or attachment or nothing). And since the code that
&gt; determines the filename 
&gt; 
&gt; String filenameFromHTTPContentDisposition(const String&amp;);
&gt; 
&gt; already exists in this very same file, would it not make sense to have the
&gt; other one here too ? 

Indeed.

The more I look at this and try to put in words why this patch irritated me, the more I see that the entirety of HTTPParsers.cpp irritates me.

The consistency of the methods is almost nonexistent.  The whole file seems to be a dumping ground for random stuff coded in a random style.  filenameFromHTTPContentDisposition(), for example, seems to belong on ResourceResponse.

But since there&apos;s precedent, I revoke my blame and strong dissent.  :)

It&apos;s best to match the others that take a header value, like the companion filenameFromHTTPContentDisposition(const String&amp;);

&gt; Perhaps changing how it is implemented would ease the
&gt; gripes you have with it ? How about changing it to
&gt; 
&gt; bool HTTPParsers::isAttachmentContentDisposition(const String&amp;) ;

This still reeks of &quot;WebCore determining policy&quot;.  Better to make it more general purpose.  Like:

&gt; OR
&gt; 
&gt; enum ContentDispositionType
&gt; {
&gt;      Inline,
&gt;      Attachment
&gt; };
&gt; 
&gt; int HTTPParsers::contentDispositionType(const String&amp;);
&gt; 
&gt; instead ?

Yes.  For completeness and matching our style, it&apos;d be:

typedef enum {
    Inline,
    Attachment,
    Other
} ContentDispositionType;

ContentDispositionType contentDispositionType(const String&amp;);

Thanks for following up on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205883</commentid>
    <comment_count>42</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-03-30 00:09:59 -0700</bug_when>
    <thetext>(In reply to comment #41)
&gt; (In reply to comment #40)
&gt; &gt; (In reply to comment #39)
&gt; &gt; 
&gt; &gt; &gt;
&gt; &gt; &gt; But as written the method implements a client policy.  This reeks of breaking
&gt; &gt; &gt; the layering between WebCore and WebKit.  I would feel a lot better about it if
&gt; &gt; &gt; the method was:
&gt; &gt; &gt; String ResourceResponseBase::contentDispositionType() const;
&gt; &gt; 
&gt; &gt; Though I have no particular objection to where this functionality ends up, I do
&gt; &gt; not see how determining the type of content disposition is any different from
&gt; &gt; determining the filename from the content-disposition header. In fact the
&gt; &gt; filename portion of this header might be completely useless depending on the
&gt; &gt; type attribute (inline or attachment or nothing). And since the code that
&gt; &gt; determines the filename 
&gt; &gt; 
&gt; &gt; String filenameFromHTTPContentDisposition(const String&amp;);
&gt; &gt; 
&gt; &gt; already exists in this very same file, would it not make sense to have the
&gt; &gt; other one here too ? 
&gt; 
&gt; Indeed.
&gt; 
&gt; The more I look at this and try to put in words why this patch irritated me,
&gt; the more I see that the entirety of HTTPParsers.cpp irritates me.
&gt; 
&gt; The consistency of the methods is almost nonexistent.  The whole file seems to
&gt; be a dumping ground for random stuff coded in a random style. 
&gt; filenameFromHTTPContentDisposition(), for example, seems to belong on
&gt; ResourceResponse.

No arguments from me on that point...

&gt; But since there&apos;s precedent, I revoke my blame and strong dissent.  :)

you just made it sound like I was arguing in front of some high court somewhere and my presuasive commentary won the day... Perhaps I should say, thank your honor :)

&gt; It&apos;s best to match the others that take a header value, like the companion
&gt; filenameFromHTTPContentDisposition(const String&amp;);
&gt; 
&gt; &gt; Perhaps changing how it is implemented would ease the
&gt; &gt; gripes you have with it ? How about changing it to
&gt; &gt; 
&gt; &gt; bool HTTPParsers::isAttachmentContentDisposition(const String&amp;) ;
&gt; 
&gt; This still reeks of &quot;WebCore determining policy&quot;.  Better to make it more
&gt; general purpose.  Like:
&gt; 
&gt; &gt; OR
&gt; &gt; 
&gt; &gt; enum ContentDispositionType
&gt; &gt; {
&gt; &gt;      Inline,
&gt; &gt;      Attachment
&gt; &gt; };
&gt; &gt; 
&gt; &gt; int HTTPParsers::contentDispositionType(const String&amp;);
&gt; &gt; 
&gt; &gt; instead ?
&gt; 
&gt; Yes.  For completeness and matching our style, it&apos;d be:
&gt; 
&gt; typedef enum {
&gt;     Inline,
&gt;     Attachment,
&gt;     Other
&gt; } ContentDispositionType;

Hmm... there seems to be another enum declared in that same file that does not follow the style you suggest here. No matter, I implemented it as you suggested, except I added an additional enum, &apos;None&apos;, to the list as the first item...

&gt; ContentDispositionType contentDispositionType(const String&amp;);

Done...

&gt; Thanks for following up on this.

No problems... Only thing left is should I generate a patch against the last patch or create a complete patch with the new suggested fixes ? Should this new patch then be posted to a new bug report or should I still post it here ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205944</commentid>
    <comment_count>43</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-30 04:55:25 -0700</bug_when>
    <thetext>Revision r56750 cherry-picked into qtwebkit-2.0 with commit 46b4cfc4c16f59e402e21c11db057ac28fbd4b02</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206032</commentid>
    <comment_count>44</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-03-30 09:08:48 -0700</bug_when>
    <thetext>&gt; &gt; typedef enum {
&gt; &gt;     Inline,
&gt; &gt;     Attachment,
&gt; &gt;     Other
&gt; &gt; } ContentDispositionType;
&gt; 
&gt; Hmm... there seems to be another enum declared in that same file that does not
&gt; follow the style you suggest here. No matter, I implemented it as you
&gt; suggested, except I added an additional enum, &apos;None&apos;, to the list as the first
&gt; item...

Good call on the None.

&gt; No problems... Only thing left is should I generate a patch against the last
&gt; patch or create a complete patch with the new suggested fixes ? Should this new
&gt; patch then be posted to a new bug report or should I still post it here ?

New bug, I guess.  CC me and I&apos;ll quickly review.  :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51199</attachid>
            <date>2010-03-19 16:08:29 -0700</date>
            <delta_ts>2010-03-22 21:37:04 -0700</delta_ts>
            <desc>Content-Disposition support</desc>
            <filename>content_disposition_support.patch</filename>
            <type>text/plain</type>
            <size>1845</size>
            <attacher name="Dawit A.">adawit</attacher>
            
              <data encoding="base64">LS0tIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcAkyMDEw
LTAzLTEzIDA3OjM1OjE5LjAwMDAwMDAwMCAtMDUwMAorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCTIwMTAtMDMtMTkgMTA6MDM6MjMuMDAwMDAwMDAw
IC0wNDAwCkBAIC05NjMsMTAgKzk2Myw0NCBAQAogICAgIHJldHVybiBuZXdQYWdlLT5tYWluRnJh
bWUoKS0+ZC0+ZnJhbWU7CiB9CiAKK3N0YXRpYyBib29sIHNob3VsZFRyZWF0QXNBdHRhY2htZW50
KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQoreworICAgIGNvbnN0IFN0cmluZyYg
Y29udGVudERpc3Bvc2l0aW9uID0KKyAgICAgICAgcmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKCJD
b250ZW50LURpc3Bvc2l0aW9uIik7CisgICAgaWYgKGNvbnRlbnREaXNwb3NpdGlvbi5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFNvbWUgYnJva2VuIHNpdGVzIGp1
c3Qgc2VuZAorICAgIC8vIENvbnRlbnQtRGlzcG9zaXRpb246IDsgZmlsZW5hbWU9ImZpbGUiCisg
ICAgLy8gc2NyZWVuIHRob3NlIG91dCBoZXJlLgorICAgIGlmIChjb250ZW50RGlzcG9zaXRpb24u
c3RhcnRzV2l0aCgiOyIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoY29udGVu
dERpc3Bvc2l0aW9uLnN0YXJ0c1dpdGgoImlubGluZSIsIGZhbHNlKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgLy8gU29tZSBicm9rZW4gc2l0ZXMganVzdCBzZW5kCisgICAgLy8gQ29u
dGVudC1EaXNwb3NpdGlvbjogZmlsZW5hbWU9ImZpbGUiCisgICAgLy8gd2l0aG91dCBhIGRpc3Bv
c2l0aW9uIHRva2VuLi4uIHNjcmVlbiB0aG9zZSBvdXQuCisgICAgaWYgKGNvbnRlbnREaXNwb3Np
dGlvbi5zdGFydHNXaXRoKCJmaWxlbmFtZSIsIGZhbHNlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgLy8gQWxzbyBpbiB1c2UgaXMgQ29udGVudC1EaXNwb3NpdGlvbjogbmFtZT0iZmls
ZSIKKyAgICBpZiAoY29udGVudERpc3Bvc2l0aW9uLnN0YXJ0c1dpdGgoIm5hbWUiLCBmYWxzZSkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFdlIGhhdmUgYSBjb250ZW50LWRpc3Bv
c2l0aW9uIG9mICJhdHRhY2htZW50IiBvciB1bmtub3duLgorICAgIC8vIFJGQyAyMTgzLCBzZWN0
aW9uIDIuOCBzYXlzIHRoYXQgYW4gdW5rbm93biBkaXNwb3NpdGlvbgorICAgIC8vIHZhbHVlIHNo
b3VsZCBiZSB0cmVhdGVkIGFzICJhdHRhY2htZW50IgorICAgIHJldHVybiB0cnVlOworfQorCiB2
b2lkIEZyYW1lTG9hZGVyQ2xpZW50UXQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTUlNRVR5cGUo
RnJhbWVQb2xpY3lGdW5jdGlvbiBmdW5jdGlvbiwgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiBNSU1F
VHlwZSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JikKIHsKICAgICAvLyB3ZSBuZWVk
IHRvIGNhbGwgZGlyZWN0bHkgaGVyZQotICAgIGlmIChjYW5TaG93TUlNRVR5cGUoTUlNRVR5cGUp
KQorICAgIGlmIChzaG91bGRUcmVhdEFzQXR0YWNobWVudChtX2ZyYW1lLT5sb2FkZXIoKS0+YWN0
aXZlRG9jdW1lbnRMb2FkZXIoKS0+cmVzcG9uc2UoKSkpCisgICAgICAgIGNhbGxQb2xpY3lGdW5j
dGlvbihmdW5jdGlvbiwgUG9saWN5RG93bmxvYWQpOyAgICAKKyAgICBlbHNlIGlmIChjYW5TaG93
TUlNRVR5cGUoTUlNRVR5cGUpKQogICAgICAgICBjYWxsUG9saWN5RnVuY3Rpb24oZnVuY3Rpb24s
IFBvbGljeVVzZSk7CiAgICAgZWxzZQogICAgICAgICBjYWxsUG9saWN5RnVuY3Rpb24oZnVuY3Rp
b24sIFBvbGljeURvd25sb2FkKTsK
</data>
<flag name="review"
          id="34485"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51235</attachid>
            <date>2010-03-20 16:07:47 -0700</date>
            <delta_ts>2010-03-22 21:37:04 -0700</delta_ts>
            <desc>Alternate patch as described in the original report...</desc>
            <filename>qtwebkit_content_disposition_support.patch</filename>
            <type>text/plain</type>
            <size>4081</size>
            <attacher name="Dawit A.">adawit</attacher>
            
              <data encoding="base64">LS0tIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcAkyMDEw
LTAzLTEzIDA3OjM1OjE5LjAwMDAwMDAwMCAtMDUwMAorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCTIwMTAtMDMtMjAgMTg6NDg6MTMuMDAwMDAwMDAw
IC0wNDAwCkBAIC0xMzYsNiArMTM2LDM4IEBACiAgICAgcmV0dXJuIHRleHQ7CiB9CiAKK3N0YXRp
YyBib29sIHNob3VsZFRyZWF0QXNBdHRhY2htZW50KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlKQoreworICAgIGNvbnN0IFFTdHJpbmcmIGNvbnRlbnREaXNwb3NpdGlv
biA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZCgiQ29udGVudC1EaXNwb3NpdGlvbiIpOworICAg
IAorICAgIGlmIChjb250ZW50RGlzcG9zaXRpb24uaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICAvLyBTb21lIGJyb2tlbiBzaXRlcyBqdXN0IHNlbmQKKyAgICAvLyBDb250
ZW50LURpc3Bvc2l0aW9uOiA7IGZpbGVuYW1lPSJmaWxlIgorICAgIC8vIHNjcmVlbiB0aG9zZSBv
dXQgaGVyZS4KKyAgICBpZiAoY29udGVudERpc3Bvc2l0aW9uLnN0YXJ0c1dpdGgoIjsiKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGNvbnRlbnREaXNwb3NpdGlvbi5zdGFydHNX
aXRoKFFMYXRpbjFTdHJpbmcoImlubGluZSIpLCBRdDo6Q2FzZUluc2Vuc2l0aXZlKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gU29tZSBicm9rZW4gc2l0ZXMganVzdCBzZW5kCisg
ICAgLy8gQ29udGVudC1EaXNwb3NpdGlvbjogZmlsZW5hbWU9ImZpbGUiCisgICAgLy8gd2l0aG91
dCBhIGRpc3Bvc2l0aW9uIHRva2VuLi4uIHNjcmVlbiB0aG9zZSBvdXQuCisgICAgaWYgKGNvbnRl
bnREaXNwb3NpdGlvbi5zdGFydHNXaXRoKFFMYXRpbjFTdHJpbmcoImZpbGVuYW1lIiksIFF0OjpD
YXNlSW5zZW5zaXRpdmUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBBbHNvIGlu
IHVzZSBpcyBDb250ZW50LURpc3Bvc2l0aW9uOiBuYW1lPSJmaWxlIgorICAgIGlmIChjb250ZW50
RGlzcG9zaXRpb24uc3RhcnRzV2l0aChRTGF0aW4xU3RyaW5nKCJuYW1lIiksIFF0OjpDYXNlSW5z
ZW5zaXRpdmUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBXZSBoYXZlIGEgY29u
dGVudC1kaXNwb3NpdGlvbiBvZiAiYXR0YWNobWVudCIgb3IgdW5rbm93bi4KKyAgICAvLyBSRkMg
MjE4Mywgc2VjdGlvbiAyLjggc2F5cyB0aGF0IGFuIHVua25vd24gZGlzcG9zaXRpb24KKyAgICAv
LyB2YWx1ZSBzaG91bGQgYmUgdHJlYXRlZCBhcyAiYXR0YWNobWVudCIKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKwogCiBuYW1lc3BhY2UgV2ViQ29yZQogewpAQCAtODA5LDcgKzg0MSw3IEBACiAgICAg
cmV0dXJuIGxvYWRlci5yZWxlYXNlKCk7CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXJDbGllbnRRdDo6
ZG93bmxvYWQoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50UXQ6OmRv
d25sb2FkKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewogICAgIGlmICghbV93ZWJGcmFt
ZSkKICAgICAgICAgcmV0dXJuOwpAQCAtODE4LDggKzg1MCwxMCBAQAogICAgIFFOZXR3b3JrUmVw
bHkqIHJlcGx5ID0gaGFuZGxlci0+cmVsZWFzZSgpOwogICAgIGlmIChyZXBseSkgewogICAgICAg
ICBRV2ViUGFnZSAqcGFnZSA9IG1fd2ViRnJhbWUtPnBhZ2UoKTsKLSAgICAgICAgaWYgKHBhZ2Ut
PmZvcndhcmRVbnN1cHBvcnRlZENvbnRlbnQoKSkKLSAgICAgICAgICAgIGVtaXQgbV93ZWJGcmFt
ZS0+cGFnZSgpLT51bnN1cHBvcnRlZENvbnRlbnQocmVwbHkpOworICAgICAgICBpZiAoc2hvdWxk
VHJlYXRBc0F0dGFjaG1lbnQocmVzcG9uc2UpKQorICAgICAgICAgICAgZW1pdCBwYWdlLT5kb3du
bG9hZFJlcXVlc3RlZChyZXBseSk7CisgICAgICAgIGVsc2UgaWYgKHBhZ2UtPmZvcndhcmRVbnN1
cHBvcnRlZENvbnRlbnQoKSkKKyAgICAgICAgICAgIGVtaXQgcGFnZS0+dW5zdXBwb3J0ZWRDb250
ZW50KHJlcGx5KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmVwbHktPmFib3J0KCk7CiAg
ICAgfQpAQCAtOTY2LDcgKzEwMDAsOSBAQAogdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNw
YXRjaERlY2lkZVBvbGljeUZvck1JTUVUeXBlKEZyYW1lUG9saWN5RnVuY3Rpb24gZnVuY3Rpb24s
IGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYpCiB7CiAgICAgLy8gd2UgbmVlZCB0byBjYWxsIGRpcmVjdGx5IGhlcmUKLSAgICBp
ZiAoY2FuU2hvd01JTUVUeXBlKE1JTUVUeXBlKSkKKyAgICBpZiAoc2hvdWxkVHJlYXRBc0F0dGFj
aG1lbnQobV9mcmFtZS0+bG9hZGVyKCktPmFjdGl2ZURvY3VtZW50TG9hZGVyKCktPnJlc3BvbnNl
KCkpKQorICAgICAgICBjYWxsUG9saWN5RnVuY3Rpb24oZnVuY3Rpb24sIFBvbGljeURvd25sb2Fk
KTsKKyAgICBlbHNlIGlmIChjYW5TaG93TUlNRVR5cGUoTUlNRVR5cGUpKQogICAgICAgICBjYWxs
UG9saWN5RnVuY3Rpb24oZnVuY3Rpb24sIFBvbGljeVVzZSk7CiAgICAgZWxzZQogICAgICAgICBj
YWxsUG9saWN5RnVuY3Rpb24oZnVuY3Rpb24sIFBvbGljeURvd25sb2FkKTsKLS0tIFdlYktpdC9x
dC9BcGkvcXdlYnBhZ2UuY3BwCTIwMTAtMDMtMTMgMDc6MzU6MTkuMDAwMDAwMDAwIC0wNTAwCisr
KyBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAkyMDEwLTAzLTIwIDE4OjQzOjA5LjAwMDAwMDAw
MCAtMDQwMApAQCAtMzUzMCw2ICszNTMwLDE3IEBACiAqLwogCiAvKiEKKyAgICBcZm4gdm9pZCBR
V2ViUGFnZTo6ZG93bmxvYWRSZXF1ZXN0ZWQoUU5ldHdvcmtSZXBseSAqcmVwbHkpCisKKyAgICBU
aGlzIHNpZ25hbCBpcyBlbWl0dGVkIHdoZW4gYSB3ZWIgc2VydmVyIGluc3RydWN0cyBXZWJLaXQg
dG8gZG93bmxvYWQgdGhlIHJlcXVlc3RlZCBwYWdlLgorCisgICAgVGhlIHBhZ2UgY29udGVudCBw
b2ludGVkIHRvIGJ5IFxhIHJlcGx5IGlzIGludGVuZGVkIHRvIGJlIHNhdmVkIGludG8gYSBmaWxl
LiBUaGUgZmlsZW5hbWUKKyAgICBzdWdnZXN0ZWQgYnkgdGhlIHdlYiBzZXJ2ZXIgY2FuIGJlIG9i
dGFpbmVkIGZyb20gdGhlICdDb250ZW50LURpc3Bvc2l0aW9uJyBoZWFkZXIuCisgICAgCisgICAg
QXQgc2lnbmFsIGVtaXNzaW9uIHRpbWUgdGhlIG1ldGEtZGF0YSBvZiB0aGUgUU5ldHdvcmtSZXBs
eSBcYSByZXBseSBpcyBhdmFpbGFibGUuCisqLworCisvKiEKICAgICBcZm4gdm9pZCBRV2ViUGFn
ZTo6ZG93bmxvYWRSZXF1ZXN0ZWQoY29uc3QgUU5ldHdvcmtSZXF1ZXN0ICZyZXF1ZXN0KQogCiAg
ICAgVGhpcyBzaWduYWwgaXMgZW1pdHRlZCB3aGVuIHRoZSB1c2VyIGRlY2lkZXMgdG8gZG93bmxv
YWQgYSBsaW5rLiBUaGUgdXJsIG9mCi0tLSBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgJMjAxMC0w
My0xMyAwNzozNToxOS4wMDAwMDAwMDAgLTA1MDAKKysrIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
aAkyMDEwLTAzLTIwIDE4OjI3OjIxLjAwMDAwMDAwMCAtMDQwMApAQCAtMzIzLDYgKzMyMyw3IEBA
CiAgICAgdm9pZCBtZW51QmFyVmlzaWJpbGl0eUNoYW5nZVJlcXVlc3RlZChib29sIHZpc2libGUp
OwogCiAgICAgdm9pZCB1bnN1cHBvcnRlZENvbnRlbnQoUU5ldHdvcmtSZXBseSAqcmVwbHkpOwor
ICAgIHZvaWQgZG93bmxvYWRSZXF1ZXN0ZWQoUU5ldHdvcmtSZXBseSAqcmVwbHkpOyAgICAKICAg
ICB2b2lkIGRvd25sb2FkUmVxdWVzdGVkKGNvbnN0IFFOZXR3b3JrUmVxdWVzdCAmcmVxdWVzdCk7
CiAKICAgICB2b2lkIG1pY3JvRm9jdXNDaGFuZ2VkKCk7Cg==
</data>
<flag name="review"
          id="34486"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51391</attachid>
            <date>2010-03-22 21:37:04 -0700</date>
            <delta_ts>2010-03-24 09:13:56 -0700</delta_ts>
            <desc>Updated Content-Disposition patch...</desc>
            <filename>qtwebkit_content_disposition_support_2.patch</filename>
            <type>text/plain</type>
            <size>5101</size>
            <attacher name="Dawit A.">adawit</attacher>
            
              <data encoding="base64">LS0tIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oCTIwMTAtMDMtMTkgMTE6
MzA6MjcuMDAwMDAwMDAwIC0wNDAwCisrKyBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBh
cnNlcnMuaAkyMDEwLTAzLTIyIDIzOjA0OjQzLjAwMDAwMDAwMCAtMDQwMApAQCAtMzIsNyArMzIs
OSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgU3RyaW5nOworICAgIGNsYXNz
IFJlc291cmNlUmVzcG9uc2VCYXNlOwogCisgICAgYm9vbCBzaG91bGRUcmVhdEFzQXR0YWNobWVu
dChjb25zdCBSZXNvdXJjZVJlc3BvbnNlQmFzZSYgcmVzcG9uc2UpOwogICAgIGJvb2wgcGFyc2VI
VFRQUmVmcmVzaChjb25zdCBTdHJpbmcmIHJlZnJlc2gsIGJvb2wgZnJvbUh0dHBFcXVpdk1ldGEs
IGRvdWJsZSYgZGVsYXksIFN0cmluZyYgdXJsKTsKICAgICBkb3VibGUgcGFyc2VEYXRlKGNvbnN0
IFN0cmluZyYpOwogICAgIFN0cmluZyBmaWxlbmFtZUZyb21IVFRQQ29udGVudERpc3Bvc2l0aW9u
KGNvbnN0IFN0cmluZyYpOyAKLS0tIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vy
cy5jcHAJMjAxMC0wMy0xOSAxMTozMDoyNy4wMDAwMDAwMDAgLTA0MDAKKysrIFdlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5jcHAJMjAxMC0wMy0yMiAyMzowNDo0OC4wMDAwMDAw
MDAgLTA0MDAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkhUVFBQYXJzZXJzLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZUJhc2UuaCIKIAog
I2luY2x1ZGUgIkNTdHJpbmcuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgpAQCAtNTUs
NiArNTYsMzggQEAKICAgICByZXR1cm4gcG9zICE9IGxlbjsKIH0KIAorYm9vbCBzaG91bGRUcmVh
dEFzQXR0YWNobWVudChjb25zdCBSZXNvdXJjZVJlc3BvbnNlQmFzZSYgcmVzcG9uc2UpCit7Cisg
ICAgY29uc3QgU3RyaW5nJiBjb250ZW50RGlzcG9zaXRpb24gPSByZXNwb25zZS5odHRwSGVhZGVy
RmllbGQoIkNvbnRlbnQtRGlzcG9zaXRpb24iKTsKKyAgICAKKyAgICBpZiAoY29udGVudERpc3Bv
c2l0aW9uLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gU29tZSBi
cm9rZW4gc2l0ZXMganVzdCBzZW5kCisgICAgLy8gQ29udGVudC1EaXNwb3NpdGlvbjogOyBmaWxl
bmFtZT0iZmlsZSIKKyAgICAvLyBzY3JlZW4gdGhvc2Ugb3V0IGhlcmUuCisgICAgaWYgKGNvbnRl
bnREaXNwb3NpdGlvbi5zdGFydHNXaXRoKCI7IikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIGlmIChjb250ZW50RGlzcG9zaXRpb24uc3RhcnRzV2l0aCgiaW5saW5lIiwgZmFsc2UpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBTb21lIGJyb2tlbiBzaXRlcyBqdXN0IHNl
bmQKKyAgICAvLyBDb250ZW50LURpc3Bvc2l0aW9uOiBmaWxlbmFtZT0iZmlsZSIKKyAgICAvLyB3
aXRob3V0IGEgZGlzcG9zaXRpb24gdG9rZW4uLi4gc2NyZWVuIHRob3NlIG91dC4KKyAgICBpZiAo
Y29udGVudERpc3Bvc2l0aW9uLnN0YXJ0c1dpdGgoImZpbGVuYW1lIiwgZmFsc2UpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBBbHNvIGluIHVzZSBpcyBDb250ZW50LURpc3Bvc2l0
aW9uOiBuYW1lPSJmaWxlIgorICAgIGlmIChjb250ZW50RGlzcG9zaXRpb24uc3RhcnRzV2l0aCgi
bmFtZSIsIGZhbHNlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gV2UgaGF2ZSBh
IGNvbnRlbnQtZGlzcG9zaXRpb24gb2YgImF0dGFjaG1lbnQiIG9yIHVua25vd24uCisgICAgLy8g
UkZDIDIxODMsIHNlY3Rpb24gMi44IHNheXMgdGhhdCBhbiB1bmtub3duIGRpc3Bvc2l0aW9uCisg
ICAgLy8gdmFsdWUgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgImF0dGFjaG1lbnQiCisgICAgcmV0dXJu
IHRydWU7ICAKK30KKwogYm9vbCBwYXJzZUhUVFBSZWZyZXNoKGNvbnN0IFN0cmluZyYgcmVmcmVz
aCwgYm9vbCBmcm9tSHR0cEVxdWl2TWV0YSwgZG91YmxlJiBkZWxheSwgU3RyaW5nJiB1cmwpCiB7
CiAgICAgaW50IGxlbiA9IHJlZnJlc2gubGVuZ3RoKCk7Ci0tLSBXZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAJMjAxMC0wMy0xOSAxMTozMDoyNy4wMDAwMDAw
MDAgLTA0MDAKKysrIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0
LmNwcAkyMDEwLTAzLTIyIDIzOjA1OjQ2LjAwMDAwMDAwMCAtMDQwMApAQCAtMzEsNiArMzEsNyBA
QAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJIVFRQUGFyc2Vycy5oIgog
I2luY2x1ZGUgIkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIgogI2luY2x1ZGUgIkNTU1By
b3BlcnR5TmFtZXMuaCIKICNpbmNsdWRlICJGb3JtU3RhdGUuaCIKQEAgLTgxOSw3ICs4MjAsNyBA
QAogICAgIGlmIChyZXBseSkgewogICAgICAgICBRV2ViUGFnZSAqcGFnZSA9IG1fd2ViRnJhbWUt
PnBhZ2UoKTsKICAgICAgICAgaWYgKHBhZ2UtPmZvcndhcmRVbnN1cHBvcnRlZENvbnRlbnQoKSkK
LSAgICAgICAgICAgIGVtaXQgbV93ZWJGcmFtZS0+cGFnZSgpLT51bnN1cHBvcnRlZENvbnRlbnQo
cmVwbHkpOworICAgICAgICAgICAgZW1pdCBwYWdlLT51bnN1cHBvcnRlZENvbnRlbnQocmVwbHkp
OwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXBseS0+YWJvcnQoKTsKICAgICB9CkBAIC05
NjYsNyArOTY3LDkgQEAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRRdDo6ZGlzcGF0Y2hEZWNpZGVQ
b2xpY3lGb3JNSU1FVHlwZShGcmFtZVBvbGljeUZ1bmN0aW9uIGZ1bmN0aW9uLCBjb25zdCBXZWJD
b3JlOjpTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKQog
ewogICAgIC8vIHdlIG5lZWQgdG8gY2FsbCBkaXJlY3RseSBoZXJlCi0gICAgaWYgKGNhblNob3dN
SU1FVHlwZShNSU1FVHlwZSkpCisgICAgaWYgKFdlYkNvcmU6OnNob3VsZFRyZWF0QXNBdHRhY2ht
ZW50KG1fZnJhbWUtPmxvYWRlcigpLT5hY3RpdmVEb2N1bWVudExvYWRlcigpLT5yZXNwb25zZSgp
KSkKKyAgICAgICAgY2FsbFBvbGljeUZ1bmN0aW9uKGZ1bmN0aW9uLCBQb2xpY3lEb3dubG9hZCk7
ICAgIAorICAgIGVsc2UgaWYgKGNhblNob3dNSU1FVHlwZShNSU1FVHlwZSkpCiAgICAgICAgIGNh
bGxQb2xpY3lGdW5jdGlvbihmdW5jdGlvbiwgUG9saWN5VXNlKTsKICAgICBlbHNlCiAgICAgICAg
IGNhbGxQb2xpY3lGdW5jdGlvbihmdW5jdGlvbiwgUG9saWN5RG93bmxvYWQpOwotLS0gV2ViS2l0
L3F0L0FwaS9xd2VicGFnZS5jcHAJMjAxMC0wMy0xOSAxMTozMDoyNy4wMDAwMDAwMDAgLTA0MDAK
KysrIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCTIwMTAtMDMtMjIgMjM6MTI6NDguMDAwMDAw
MDAwIC0wNDAwCkBAIC0zNTIwLDcgKzM1MjAsOSBAQAogLyohCiAgICAgXGZuIHZvaWQgUVdlYlBh
Z2U6OnVuc3VwcG9ydGVkQ29udGVudChRTmV0d29ya1JlcGx5ICpyZXBseSkKIAotICAgIFRoaXMg
c2lnbmFsIGlzIGVtaXR0ZWQgd2hlbiBXZWJLaXQgY2Fubm90IGhhbmRsZSBhIGxpbmsgdGhlIHVz
ZXIgbmF2aWdhdGVkIHRvLgorICAgIFRoaXMgc2lnbmFsIGlzIGVtaXR0ZWQgd2hlbiBXZWJLaXQg
Y2Fubm90IGhhbmRsZSBhIGxpbmsgdGhlIHVzZXIgbmF2aWdhdGVkIHRvIG9yIGEKKyAgICB3ZWIg
c2VydmVyJ3MgcmVxdWVzdCBpbmNsdWRlcyBhIENvbnRlbnQtRGlzcG9zaXRpb24gaGVhZGVyIHRo
YXQgaW5kaWNhdGVzIHRoZSAKKyAgICByZXF1ZXN0IGlzIHN1cHBvc2VkIHRvIGJlIHRyZWF0ZWQg
YXMgYW4gYXR0YWNobWVudC4KIAogICAgIEF0IHNpZ25hbCBlbWlzc2lvbiB0aW1lIHRoZSBtZXRh
LWRhdGEgb2YgdGhlIFFOZXR3b3JrUmVwbHkgXGEgcmVwbHkgaXMgYXZhaWxhYmxlLgogCi0tLSBX
ZWJLaXQvcXQvQ2hhbmdlTG9nCTIwMTAtMDMtMTkgMTE6MzA6MjcuMDAwMDAwMDAwIC0wNDAwCisr
KyBXZWJLaXQvcXQvQ2hhbmdlTG9nCTIwMTAtMDMtMjIgMjM6MTA6MDcuMDAwMDAwMDAwIC0wNDAw
CkBAIC0xLDMgKzEsMTAgQEAKKzIwMTAtMDMtMjIgIERhd2l0IEFsZW1heWVodSA8YWRhd2l0QGtk
ZS5vcmc+CisJCisJQWRkZWQgc3VwcG9ydCBmb3IgaGFuZGxpbmcgdGhlIEhUVFAgIkNvbnRlbnQt
RGlzcG9zaXRpb24iIGhlYWRlci4KKworICAgICAgICBXaGVuZXZlciB0aGlzIGhlYWRlciBpcyBk
ZXRlY3RlZCB0aGUgcmVxdWVzdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYSBkb3dubG9hZAorICAgICAg
ICByZXF1ZXN0IGFuZCB0aGUgdW5zdXBwb3J0ZWRDb250ZW50IHNpZ25hbCB3aWxsIGJlIGVtaXR0
ZWQuCisKIDIwMTAtMDMtMTggIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotLS0gV2ViQ29y
ZS9DaGFuZ2VMb2cJMjAxMC0wMy0xOSAxMTozMDoyNy4wMDAwMDAwMDAgLTA0MDAKKysrIFdlYkNv
cmUvQ2hhbmdlTG9nCTIwMTAtMDMtMjIgMjM6MDE6MTMuMDAwMDAwMDAwIC0wNDAwCkBAIC0xLDMg
KzEsMTIgQEAKKzIwMTAtMDMtMjIgIERhd2l0IEFsZW1heWVodSA8YWRhd2l0QC5rZGUub3JnPgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjM5NQor
CisgICAgICAgIEZhY3RvcmVkIG91dCB0aGUgY29kZSB0aGF0IGRldGVjdHMgIkF0dGFjaG1lbnQi
IGRpcmVjdGl2ZSBzZW50IHRocm91Z2gKKyAgICAgICAgdGhlIGh0dHAgQ29udGVudC1EaXNwb3Np
dGlvbiBoZWFkZXIgZnJvbSBXZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lQ2xpZW50SW1wbC5jcHAK
KyAgICAgICAgdG8gV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJlcnMuKiB0byBhdm9p
ZCBjb2RlIGR1cGxpY2F0aW9uLiBUaGF0CisgICAgICAgIGNvZGUgd2lsbCBhbHNvIGJlIHVzZWQg
YnkgV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwLgorCQog
MjAxMC0wMy0xOSAgQW50dGkgS29pdmlzdG8gIDxrb2l2aXN0b0Bpa2kuZmk+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51392</attachid>
            <date>2010-03-22 21:48:41 -0700</date>
            <delta_ts>2010-03-24 09:13:56 -0700</delta_ts>
            <desc>Updated Content-Disposition patch II</desc>
            <filename>qtwebkit_content_disposition_support_3.patch</filename>
            <type>text/plain</type>
            <size>7714</size>
            <attacher name="Dawit A.">adawit</attacher>
            
              <data encoding="base64">LS0tIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oCTIwMTAtMDMtMTkgMTE6
MzA6MjcuMDAwMDAwMDAwIC0wNDAwCisrKyBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBh
cnNlcnMuaAkyMDEwLTAzLTIyIDIzOjA0OjQzLjAwMDAwMDAwMCAtMDQwMApAQCAtMzIsNyArMzIs
OSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgU3RyaW5nOworICAgIGNsYXNz
IFJlc291cmNlUmVzcG9uc2VCYXNlOwogCisgICAgYm9vbCBzaG91bGRUcmVhdEFzQXR0YWNobWVu
dChjb25zdCBSZXNvdXJjZVJlc3BvbnNlQmFzZSYgcmVzcG9uc2UpOwogICAgIGJvb2wgcGFyc2VI
VFRQUmVmcmVzaChjb25zdCBTdHJpbmcmIHJlZnJlc2gsIGJvb2wgZnJvbUh0dHBFcXVpdk1ldGEs
IGRvdWJsZSYgZGVsYXksIFN0cmluZyYgdXJsKTsKICAgICBkb3VibGUgcGFyc2VEYXRlKGNvbnN0
IFN0cmluZyYpOwogICAgIFN0cmluZyBmaWxlbmFtZUZyb21IVFRQQ29udGVudERpc3Bvc2l0aW9u
KGNvbnN0IFN0cmluZyYpOyAKLS0tIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vy
cy5jcHAJMjAxMC0wMy0xOSAxMTozMDoyNy4wMDAwMDAwMDAgLTA0MDAKKysrIFdlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5jcHAJMjAxMC0wMy0yMiAyMzowNDo0OC4wMDAwMDAw
MDAgLTA0MDAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkhUVFBQYXJzZXJzLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZUJhc2UuaCIKIAog
I2luY2x1ZGUgIkNTdHJpbmcuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgpAQCAtNTUs
NiArNTYsMzggQEAKICAgICByZXR1cm4gcG9zICE9IGxlbjsKIH0KIAorYm9vbCBzaG91bGRUcmVh
dEFzQXR0YWNobWVudChjb25zdCBSZXNvdXJjZVJlc3BvbnNlQmFzZSYgcmVzcG9uc2UpCit7Cisg
ICAgY29uc3QgU3RyaW5nJiBjb250ZW50RGlzcG9zaXRpb24gPSByZXNwb25zZS5odHRwSGVhZGVy
RmllbGQoIkNvbnRlbnQtRGlzcG9zaXRpb24iKTsKKyAgICAKKyAgICBpZiAoY29udGVudERpc3Bv
c2l0aW9uLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gU29tZSBi
cm9rZW4gc2l0ZXMganVzdCBzZW5kCisgICAgLy8gQ29udGVudC1EaXNwb3NpdGlvbjogOyBmaWxl
bmFtZT0iZmlsZSIKKyAgICAvLyBzY3JlZW4gdGhvc2Ugb3V0IGhlcmUuCisgICAgaWYgKGNvbnRl
bnREaXNwb3NpdGlvbi5zdGFydHNXaXRoKCI7IikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIGlmIChjb250ZW50RGlzcG9zaXRpb24uc3RhcnRzV2l0aCgiaW5saW5lIiwgZmFsc2UpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBTb21lIGJyb2tlbiBzaXRlcyBqdXN0IHNl
bmQKKyAgICAvLyBDb250ZW50LURpc3Bvc2l0aW9uOiBmaWxlbmFtZT0iZmlsZSIKKyAgICAvLyB3
aXRob3V0IGEgZGlzcG9zaXRpb24gdG9rZW4uLi4gc2NyZWVuIHRob3NlIG91dC4KKyAgICBpZiAo
Y29udGVudERpc3Bvc2l0aW9uLnN0YXJ0c1dpdGgoImZpbGVuYW1lIiwgZmFsc2UpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBBbHNvIGluIHVzZSBpcyBDb250ZW50LURpc3Bvc2l0
aW9uOiBuYW1lPSJmaWxlIgorICAgIGlmIChjb250ZW50RGlzcG9zaXRpb24uc3RhcnRzV2l0aCgi
bmFtZSIsIGZhbHNlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gV2UgaGF2ZSBh
IGNvbnRlbnQtZGlzcG9zaXRpb24gb2YgImF0dGFjaG1lbnQiIG9yIHVua25vd24uCisgICAgLy8g
UkZDIDIxODMsIHNlY3Rpb24gMi44IHNheXMgdGhhdCBhbiB1bmtub3duIGRpc3Bvc2l0aW9uCisg
ICAgLy8gdmFsdWUgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgImF0dGFjaG1lbnQiCisgICAgcmV0dXJu
IHRydWU7ICAKK30KKwogYm9vbCBwYXJzZUhUVFBSZWZyZXNoKGNvbnN0IFN0cmluZyYgcmVmcmVz
aCwgYm9vbCBmcm9tSHR0cEVxdWl2TWV0YSwgZG91YmxlJiBkZWxheSwgU3RyaW5nJiB1cmwpCiB7
CiAgICAgaW50IGxlbiA9IHJlZnJlc2gubGVuZ3RoKCk7Ci0tLSBXZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAJMjAxMC0wMy0xOSAxMTozMDoyNy4wMDAwMDAw
MDAgLTA0MDAKKysrIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0
LmNwcAkyMDEwLTAzLTIyIDIzOjA1OjQ2LjAwMDAwMDAwMCAtMDQwMApAQCAtMzEsNiArMzEsNyBA
QAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJIVFRQUGFyc2Vycy5oIgog
I2luY2x1ZGUgIkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIgogI2luY2x1ZGUgIkNTU1By
b3BlcnR5TmFtZXMuaCIKICNpbmNsdWRlICJGb3JtU3RhdGUuaCIKQEAgLTgxOSw3ICs4MjAsNyBA
QAogICAgIGlmIChyZXBseSkgewogICAgICAgICBRV2ViUGFnZSAqcGFnZSA9IG1fd2ViRnJhbWUt
PnBhZ2UoKTsKICAgICAgICAgaWYgKHBhZ2UtPmZvcndhcmRVbnN1cHBvcnRlZENvbnRlbnQoKSkK
LSAgICAgICAgICAgIGVtaXQgbV93ZWJGcmFtZS0+cGFnZSgpLT51bnN1cHBvcnRlZENvbnRlbnQo
cmVwbHkpOworICAgICAgICAgICAgZW1pdCBwYWdlLT51bnN1cHBvcnRlZENvbnRlbnQocmVwbHkp
OwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXBseS0+YWJvcnQoKTsKICAgICB9CkBAIC05
NjYsNyArOTY3LDkgQEAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRRdDo6ZGlzcGF0Y2hEZWNpZGVQ
b2xpY3lGb3JNSU1FVHlwZShGcmFtZVBvbGljeUZ1bmN0aW9uIGZ1bmN0aW9uLCBjb25zdCBXZWJD
b3JlOjpTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKQog
ewogICAgIC8vIHdlIG5lZWQgdG8gY2FsbCBkaXJlY3RseSBoZXJlCi0gICAgaWYgKGNhblNob3dN
SU1FVHlwZShNSU1FVHlwZSkpCisgICAgaWYgKFdlYkNvcmU6OnNob3VsZFRyZWF0QXNBdHRhY2ht
ZW50KG1fZnJhbWUtPmxvYWRlcigpLT5hY3RpdmVEb2N1bWVudExvYWRlcigpLT5yZXNwb25zZSgp
KSkKKyAgICAgICAgY2FsbFBvbGljeUZ1bmN0aW9uKGZ1bmN0aW9uLCBQb2xpY3lEb3dubG9hZCk7
ICAgIAorICAgIGVsc2UgaWYgKGNhblNob3dNSU1FVHlwZShNSU1FVHlwZSkpCiAgICAgICAgIGNh
bGxQb2xpY3lGdW5jdGlvbihmdW5jdGlvbiwgUG9saWN5VXNlKTsKICAgICBlbHNlCiAgICAgICAg
IGNhbGxQb2xpY3lGdW5jdGlvbihmdW5jdGlvbiwgUG9saWN5RG93bmxvYWQpOwotLS0gV2ViS2l0
L3F0L0FwaS9xd2VicGFnZS5jcHAJMjAxMC0wMy0xOSAxMTozMDoyNy4wMDAwMDAwMDAgLTA0MDAK
KysrIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCTIwMTAtMDMtMjIgMjM6MTI6NDguMDAwMDAw
MDAwIC0wNDAwCkBAIC0zNTIwLDcgKzM1MjAsOSBAQAogLyohCiAgICAgXGZuIHZvaWQgUVdlYlBh
Z2U6OnVuc3VwcG9ydGVkQ29udGVudChRTmV0d29ya1JlcGx5ICpyZXBseSkKIAotICAgIFRoaXMg
c2lnbmFsIGlzIGVtaXR0ZWQgd2hlbiBXZWJLaXQgY2Fubm90IGhhbmRsZSBhIGxpbmsgdGhlIHVz
ZXIgbmF2aWdhdGVkIHRvLgorICAgIFRoaXMgc2lnbmFsIGlzIGVtaXR0ZWQgd2hlbiBXZWJLaXQg
Y2Fubm90IGhhbmRsZSBhIGxpbmsgdGhlIHVzZXIgbmF2aWdhdGVkIHRvIG9yIGEKKyAgICB3ZWIg
c2VydmVyJ3MgcmVxdWVzdCBpbmNsdWRlcyBhIENvbnRlbnQtRGlzcG9zaXRpb24gaGVhZGVyIHRo
YXQgaW5kaWNhdGVzIHRoZSAKKyAgICByZXF1ZXN0IGlzIHN1cHBvc2VkIHRvIGJlIHRyZWF0ZWQg
YXMgYW4gYXR0YWNobWVudC4KIAogICAgIEF0IHNpZ25hbCBlbWlzc2lvbiB0aW1lIHRoZSBtZXRh
LWRhdGEgb2YgdGhlIFFOZXR3b3JrUmVwbHkgXGEgcmVwbHkgaXMgYXZhaWxhYmxlLgogCi0tLSBX
ZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAJMjAxMC0wMy0xOSAx
MTozMDoyNy4wMDAwMDAwMDAgLTA0MDAKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2Fk
ZXJDbGllbnRJbXBsLmNwcAkyMDEwLTAzLTIyIDIzOjMyOjM0LjAwMDAwMDAwMCAtMDQwMApAQCAt
MzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkZvcm1TdGF0ZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9h
ZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkUmVxdWVzdC5oIgorI2luY2x1ZGUgIkhUVFBQYXJz
ZXJzLmgiCiAjaW5jbHVkZSAiSGlzdG9yeUl0ZW0uaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0
LmgiCiAjaW5jbHVkZSAiSFRNTEFwcGxldEVsZW1lbnQuaCIKQEAgLTgyNywzOCArODI4LDYgQEAK
ICAgICAgICAgd2ViVmlldy0+Y2xpZW50KCktPnNob3cod2ViVmlldy0+aW5pdGlhbE5hdmlnYXRp
b25Qb2xpY3koKSk7CiB9CiAKLXN0YXRpYyBib29sIHNob3VsZFRyZWF0QXNBdHRhY2htZW50KGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQotewotICAgIGNvbnN0IFN0cmluZyYgY29u
dGVudERpc3Bvc2l0aW9uID0KLSAgICAgICAgcmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKCJDb250
ZW50LURpc3Bvc2l0aW9uIik7Ci0gICAgaWYgKGNvbnRlbnREaXNwb3NpdGlvbi5pc0VtcHR5KCkp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIC8vIFNvbWUgYnJva2VuIHNpdGVzIGp1c3Qg
c2VuZAotICAgIC8vIENvbnRlbnQtRGlzcG9zaXRpb246IDsgZmlsZW5hbWU9ImZpbGUiCi0gICAg
Ly8gc2NyZWVuIHRob3NlIG91dCBoZXJlLgotICAgIGlmIChjb250ZW50RGlzcG9zaXRpb24uc3Rh
cnRzV2l0aCgiOyIpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoY29udGVudERp
c3Bvc2l0aW9uLnN0YXJ0c1dpdGgoImlubGluZSIsIGZhbHNlKSkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotCi0gICAgLy8gU29tZSBicm9rZW4gc2l0ZXMganVzdCBzZW5kCi0gICAgLy8gQ29udGVu
dC1EaXNwb3NpdGlvbjogZmlsZW5hbWU9ImZpbGUiCi0gICAgLy8gd2l0aG91dCBhIGRpc3Bvc2l0
aW9uIHRva2VuLi4uIHNjcmVlbiB0aG9zZSBvdXQuCi0gICAgaWYgKGNvbnRlbnREaXNwb3NpdGlv
bi5zdGFydHNXaXRoKCJmaWxlbmFtZSIsIGZhbHNlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgLy8gQWxzbyBpbiB1c2UgaXMgQ29udGVudC1EaXNwb3NpdGlvbjogbmFtZT0iZmlsZSIK
LSAgICBpZiAoY29udGVudERpc3Bvc2l0aW9uLnN0YXJ0c1dpdGgoIm5hbWUiLCBmYWxzZSkpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIC8vIFdlIGhhdmUgYSBjb250ZW50LWRpc3Bvc2l0
aW9uIG9mICJhdHRhY2htZW50IiBvciB1bmtub3duLgotICAgIC8vIFJGQyAyMTgzLCBzZWN0aW9u
IDIuOCBzYXlzIHRoYXQgYW4gdW5rbm93biBkaXNwb3NpdGlvbgotICAgIC8vIHZhbHVlIHNob3Vs
ZCBiZSB0cmVhdGVkIGFzICJhdHRhY2htZW50IgotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lk
IEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JNSU1FVHlwZSgK
ICAgICAgRnJhbWVQb2xpY3lGdW5jdGlvbiBmdW5jdGlvbiwKICAgICAgY29uc3QgU3RyaW5nJiBt
aW1lVHlwZSwKQEAgLTg3Myw3ICs4NDIsNyBAQAogICAgIGlmIChzdGF0dXNDb2RlID09IDIwNCB8
fCBzdGF0dXNDb2RlID09IDIwNSkgewogICAgICAgICAvLyBUaGUgc2VydmVyIGRvZXMgbm90IHdh
bnQgdXMgdG8gcmVwbGFjZSB0aGUgcGFnZSBjb250ZW50cy4KICAgICAgICAgYWN0aW9uID0gUG9s
aWN5SWdub3JlOwotICAgIH0gZWxzZSBpZiAoc2hvdWxkVHJlYXRBc0F0dGFjaG1lbnQocmVzcG9u
c2UpKSB7CisgICAgfSBlbHNlIGlmIChXZWJDb3JlOjpzaG91bGRUcmVhdEFzQXR0YWNobWVudChy
ZXNwb25zZSkpIHsKICAgICAgICAgLy8gVGhlIHNlcnZlciB3YW50cyB1cyB0byBkb3dubG9hZCBp
bnN0ZWFkIG9mIHJlcGxhY2luZyB0aGUgcGFnZSBjb250ZW50cy4KICAgICAgICAgLy8gRG93bmxv
YWRpbmcgaXMgaGFuZGxlZCBieSB0aGUgZW1iZWRkZXIsIGJ1dCB3ZSBzdGlsbCBnZXQgdGhlIGlu
aXRpYWwKICAgICAgICAgLy8gcmVzcG9uc2Ugc28gdGhhdCB3ZSBjYW4gaWdub3JlIGl0IGFuZCBj
bGVhbiB1cCBwcm9wZXJseS4KLS0tIFdlYktpdC9xdC9DaGFuZ2VMb2cJMjAxMC0wMy0xOSAxMToz
MDoyNy4wMDAwMDAwMDAgLTA0MDAKKysrIFdlYktpdC9xdC9DaGFuZ2VMb2cJMjAxMC0wMy0yMiAy
MzoxMDowNy4wMDAwMDAwMDAgLTA0MDAKQEAgLTEsMyArMSwxMCBAQAorMjAxMC0wMy0yMiAgRGF3
aXQgQWxlbWF5ZWh1IDxhZGF3aXRAa2RlLm9yZz4KKwkKKwlBZGRlZCBzdXBwb3J0IGZvciBoYW5k
bGluZyB0aGUgSFRUUCAiQ29udGVudC1EaXNwb3NpdGlvbiIgaGVhZGVyLgorCisgICAgICAgIFdo
ZW5ldmVyIHRoaXMgaGVhZGVyIGlzIGRldGVjdGVkIHRoZSByZXF1ZXN0IHdpbGwgYmUgdHJlYXRl
ZCBhcyBhIGRvd25sb2FkCisgICAgICAgIHJlcXVlc3QgYW5kIHRoZSB1bnN1cHBvcnRlZENvbnRl
bnQgc2lnbmFsIHdpbGwgYmUgZW1pdHRlZC4KKwogMjAxMC0wMy0xOCAgS2VubmV0aCBSb2hkZSBD
aHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCi0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCTIwMTAtMDMtMTkgMTE6
MzA6MjcuMDAwMDAwMDAwIC0wNDAwCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCTIwMTAt
MDMtMjMgMDA6NDI6MjAuMDAwMDAwMDAwIC0wNDAwCkBAIC0xLDMgKzEsOCBAQAorMjAxMC0wMy0y
MiAgRGF3aXQgQWxlbWF5ZWh1IDxhZGF3aXRAa2RlLm9yZz4KKworICAgICAgICBSZXBsYWNlZCB0
aGUgY2FsbCB0byBzaG91bGRUcmVhdEFzQXR0YWNobWVudCB3aXRoIHRoZSBmYWN0b3JlZCBvdXQg
dmVyc2lvbgorICAgICAgICBpbiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMu
KgorCiAyMDEwLTAzLTE4ICBWYW5nZWxpcyBLb2trZXZpcyAgPHZhbmdlbGlzQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgotLS0gV2ViQ29yZS9DaGFuZ2VM
b2cJMjAxMC0wMy0xOSAxMTozMDoyNy4wMDAwMDAwMDAgLTA0MDAKKysrIFdlYkNvcmUvQ2hhbmdl
TG9nCTIwMTAtMDMtMjIgMjM6MDE6MTMuMDAwMDAwMDAwIC0wNDAwCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTAtMDMtMjIgIERhd2l0IEFsZW1heWVodSA8YWRhd2l0QC5rZGUub3JnPgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjM5NQorCisgICAgICAg
IEZhY3RvcmVkIG91dCB0aGUgY29kZSB0aGF0IGRldGVjdHMgIkF0dGFjaG1lbnQiIGRpcmVjdGl2
ZSBzZW50IHRocm91Z2gKKyAgICAgICAgdGhlIGh0dHAgQ29udGVudC1EaXNwb3NpdGlvbiBoZWFk
ZXIgZnJvbSBXZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lQ2xpZW50SW1wbC5jcHAKKyAgICAgICAg
dG8gV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJlcnMuKiB0byBhdm9pZCBjb2RlIGR1
cGxpY2F0aW9uLiBUaGF0CisgICAgICAgIGNvZGUgd2lsbCBhbHNvIGJlIHVzZWQgYnkgV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwLgorCQogMjAxMC0wMy0x
OSAgQW50dGkgS29pdmlzdG8gIDxrb2l2aXN0b0Bpa2kuZmk+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gSGF1c21hbm4uCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51510</attachid>
            <date>2010-03-24 09:13:56 -0700</date>
            <delta_ts>2010-03-25 08:53:08 -0700</delta_ts>
            <desc>Updated Content-Disposition path III</desc>
            <filename>qtwebkit_content_disposition_support_4.patch</filename>
            <type>text/plain</type>
            <size>6500</size>
            <attacher name="Dawit A.">adawit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODY5ZTIyNS4uMTk3MTQwZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0wMy0yNCAgRGF3aXQgQWxlbWF5
ZWh1ICA8YWRhd2l0QGtkZS5vcmc+CisKKwlSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
CUFkZGVkIGEgZnVuY3Rpb24sIFdlYkNvcmU6OnNob3VsZFRyZWF0QXNBdHRhY2htZW50LCB0byBI
VFRQUGFyc2Vycy4qCisKKwlodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzYzOTUKKworCVRoaXMgZnVuY3Rpb24sIGEgY29weSBvZiB0aGUgb25lIGZvdW5kIGluIFdlYktp
dC9jaHJvbWl1bS9zcmMvRnJhbWVDbGllbnRJbXBsLmNwcCwKKwlpcyB1c2VkIHRvIGNoZWNrIHdo
ZXRoZXIgb3Igbm90IGEgcmVxdWVzdCBpcyBzdXBwb3NlZCB0byBiZSByZW5kZXJlZCBvciBzaW1w
bHkKKwlkb3dubG9hZGVkIGJhc2VkIG9uIHRoZSAiQ29udGVudC1EaXNwb3NpdGlvbiIgaGVhZGVy
IHNlbnQgYnkgdGhlIHdlYiBzZXJ2ZXIuIFRoZQorCWludGVudCBvZiBmYWN0b3Jpbmcgb3V0IHRo
ZSBjb2RlIGhlcmUgaXMgdG8gYXZvaWQgY29kZSBkdXBsaWNhdGlvbiBzbyB0aGF0IHRoaXMKKwlw
aWVjZSBvZiBjb2RlIGNhbiBiZSB1c2VkIGJ5IG90aGVyIGltcGxlbWVudGF0aW9ucywgZS5nLiBR
dFdlYktpdCwgYXMgd2VsbC4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNl
cnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkVHJlYXRBc0F0dGFjaG1lbnQpOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaDoKKwogMjAxMC0wMS0zMSAgQmVu
amFtaW4gUG91bGFpbiAgPGJlbmphbWluLnBvdWxhaW5Abm9raWEuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0hUVFBQYXJzZXJzLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vy
cy5jcHAKaW5kZXggOTIwMjY2MC4uN2E0YjU3YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0hUVFBQYXJzZXJzLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
SFRUUFBhcnNlcnMuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJIVFRQUGFyc2Vycy5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2VCYXNl
LmgiCiAKICNpbmNsdWRlICJDU3RyaW5nLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
QEAgLTU1LDYgKzU2LDM4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBza2lwV2hpdGVTcGFjZShjb25z
dCBTdHJpbmcmIHN0ciwgaW50JiBwb3MsIGJvb2wgZnJvbUh0dHBFcXVpCiAgICAgcmV0dXJuIHBv
cyAhPSBsZW47CiB9CiAKK2Jvb2wgc2hvdWxkVHJlYXRBc0F0dGFjaG1lbnQoY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZUJhc2UmIHJlc3BvbnNlKQoreworICAgIGNvbnN0IFN0cmluZyYgY29udGVudERp
c3Bvc2l0aW9uID0gcmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKCJDb250ZW50LURpc3Bvc2l0aW9u
Iik7CisgICAgCisgICAgaWYgKGNvbnRlbnREaXNwb3NpdGlvbi5pc0VtcHR5KCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIC8vIFNvbWUgYnJva2VuIHNpdGVzIGp1c3Qgc2VuZAorICAg
IC8vIENvbnRlbnQtRGlzcG9zaXRpb246IDsgZmlsZW5hbWU9ImZpbGUiCisgICAgLy8gc2NyZWVu
IHRob3NlIG91dCBoZXJlLgorICAgIGlmIChjb250ZW50RGlzcG9zaXRpb24uc3RhcnRzV2l0aCgi
OyIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoY29udGVudERpc3Bvc2l0aW9u
LnN0YXJ0c1dpdGgoImlubGluZSIsIGZhbHNlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgLy8gU29tZSBicm9rZW4gc2l0ZXMganVzdCBzZW5kCisgICAgLy8gQ29udGVudC1EaXNwb3Np
dGlvbjogZmlsZW5hbWU9ImZpbGUiCisgICAgLy8gd2l0aG91dCBhIGRpc3Bvc2l0aW9uIHRva2Vu
Li4uIHNjcmVlbiB0aG9zZSBvdXQuCisgICAgaWYgKGNvbnRlbnREaXNwb3NpdGlvbi5zdGFydHNX
aXRoKCJmaWxlbmFtZSIsIGZhbHNlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8g
QWxzbyBpbiB1c2UgaXMgQ29udGVudC1EaXNwb3NpdGlvbjogbmFtZT0iZmlsZSIKKyAgICBpZiAo
Y29udGVudERpc3Bvc2l0aW9uLnN0YXJ0c1dpdGgoIm5hbWUiLCBmYWxzZSkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIC8vIFdlIGhhdmUgYSBjb250ZW50LWRpc3Bvc2l0aW9uIG9mICJh
dHRhY2htZW50IiBvciB1bmtub3duLgorICAgIC8vIFJGQyAyMTgzLCBzZWN0aW9uIDIuOCBzYXlz
IHRoYXQgYW4gdW5rbm93biBkaXNwb3NpdGlvbgorICAgIC8vIHZhbHVlIHNob3VsZCBiZSB0cmVh
dGVkIGFzICJhdHRhY2htZW50IgorICAgIHJldHVybiB0cnVlOyAgCit9CisKIGJvb2wgcGFyc2VI
VFRQUmVmcmVzaChjb25zdCBTdHJpbmcmIHJlZnJlc2gsIGJvb2wgZnJvbUh0dHBFcXVpdk1ldGEs
IGRvdWJsZSYgZGVsYXksIFN0cmluZyYgdXJsKQogewogICAgIGludCBsZW4gPSByZWZyZXNoLmxl
bmd0aCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJz
LmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaAppbmRleCAwNjQ4YWVl
Li42ZWNlOTkzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNl
cnMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaApAQCAtMzIs
NyArMzIsOSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgU3RyaW5nOwotCisg
ICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZUJhc2U7CisgCisgICAgYm9vbCBzaG91bGRUcmVhdEFz
QXR0YWNobWVudChjb25zdCBSZXNvdXJjZVJlc3BvbnNlQmFzZSYgcmVzcG9uc2UpOwogICAgIGJv
b2wgcGFyc2VIVFRQUmVmcmVzaChjb25zdCBTdHJpbmcmIHJlZnJlc2gsIGJvb2wgZnJvbUh0dHBF
cXVpdk1ldGEsIGRvdWJsZSYgZGVsYXksIFN0cmluZyYgdXJsKTsKICAgICBkb3VibGUgcGFyc2VE
YXRlKGNvbnN0IFN0cmluZyYpOwogICAgIFN0cmluZyBmaWxlbmFtZUZyb21IVFRQQ29udGVudERp
c3Bvc2l0aW9uKGNvbnN0IFN0cmluZyYpOyAKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdl
YnBhZ2UuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKaW5kZXggYTI4OWVjMC4uZTE1
N2U1MyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIvV2ViS2l0
L3F0L0FwaS9xd2VicGFnZS5jcHAKQEAgLTM0NjAsNyArMzQ2MCwxMSBAQCBxdWludDY0IFFXZWJQ
YWdlOjpieXRlc1JlY2VpdmVkKCkgY29uc3QKIC8qIQogICAgIFxmbiB2b2lkIFFXZWJQYWdlOjp1
bnN1cHBvcnRlZENvbnRlbnQoUU5ldHdvcmtSZXBseSAqcmVwbHkpCiAKLSAgICBUaGlzIHNpZ25h
bCBpcyBlbWl0dGVkIHdoZW4gV2ViS2l0IGNhbm5vdCBoYW5kbGUgYSBsaW5rIHRoZSB1c2VyIG5h
dmlnYXRlZCB0by4KKyAgICBUaGlzIHNpZ25hbCBpcyBlbWl0dGVkIHdoZW4gV2ViS2l0IGNhbm5v
dCBoYW5kbGUgYSBsaW5rIHRoZSB1c2VyIG5hdmlnYXRlZCB0byBvciBhCisgICAgd2ViIHNlcnZl
cidzIHJlc3BvbnNlIGluY2x1ZGVzIGEgIkNvbnRlbnQtRGlzcG9zaXRpb24iIGhlYWRlciB3aXRo
IHRoZSAnYXR0YWNobWVudCcgCisgICAgZGlyZWN0aXZlLiBJZiAiQ29udGVudC1EaXNwb3NpdGlv
biIgaXMgcHJlc2VudCBpbiBcYSByZXBseSwgdGhlIHdlYiBzZXJ2ZXIgaXMgaW5kaWNhdGluZwor
ICAgIHRoYXQgdGhlIGNsaWVudCBzaG91bGQgcHJvbXB0IHRoZSB1c2VyIHRvIHNhdmUgdGhlIGNv
bnRlbnQgcmVnYXJkbGVzcyBvZiBjb250ZW50LXR5cGUuIAorICAgIFNlZSBSRkMgMjYxNiBzZWN0
aW9ucyAxOS41LjEgZm9yIGRldGFpbHMgYWJvdXQgQ29udGVudC1EaXNwb3NpdGlvbi4KIAogICAg
IEF0IHNpZ25hbCBlbWlzc2lvbiB0aW1lIHRoZSBtZXRhLWRhdGEgb2YgdGhlIFFOZXR3b3JrUmVw
bHkgXGEgcmVwbHkgaXMgYXZhaWxhYmxlLgogCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdl
TG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBlNTRjMTc2Li44MDU5Zjg2IDEwMDY0NAot
LS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxMC0wMy0yNCAgRGF3aXQgQWxlbWF5ZWh1ICA8YWRhd2l0QGtkZS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKwlbUXRdIEFkZGVkIHN1
cHBvcnQgZm9yIGhhbmRsaW5nIHRoZSBIVFRQICJDb250ZW50LURpc3Bvc2l0aW9uIiBoZWFkZXIu
CisKKwlodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYzOTUKKworCVdo
ZW5ldmVyIGEgc2VydmVyIHJlc3BvbnNlIGNvbnRhaW5zIGEgIkNvbnRlbnQtRGlzcG9zaXRpb246
IGF0dGFjaG1lbnQuLi4iIGhlYWRlciwgCisJdHJlYXQgdGhlIHJlcXVlc3QgYXMgYSBkb3dubG9h
ZCBhbmQgZW1pdCB0aGUgdW5zdXBwb3J0ZWRDb250ZW50IHNpZ25hbC4KKworICAgICAgICAqIEFw
aS9xd2VicGFnZS5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0Ojpkb3dubG9h
ZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaERlY2lk
ZVBvbGljeUZvck1JTUVUeXBlKToKKwogMjAxMC0wMy0wNCAgU2ltb24gSGF1c21hbm4gIDxzaW1v
bi5oYXVzbWFubkBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hk
ZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRRdC5jcHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2Fk
ZXJDbGllbnRRdC5jcHAKaW5kZXggNWNhYmNhMC4uNTc2NjYwMSAxMDA2NDQKLS0tIGEvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCisrKyBiL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcApAQCAtMzcsNiArMzcsNyBA
QAogI2luY2x1ZGUgIkZyYW1lVHJlZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1
ZGUgIkRvY3VtZW50TG9hZGVyLmgiCisjaW5jbHVkZSAiSFRUUFBhcnNlcnMuaCIKICNpbmNsdWRl
ICJKU0RPTVdpbmRvd0Jhc2UuaCIKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5j
bHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgpAQCAtNzk1LDcgKzc5Niw3IEBAIHZvaWQgRnJhbWVM
b2FkZXJDbGllbnRRdDo6ZG93bmxvYWQoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwg
Y29uc3QgV2ViQ29yCiAgICAgaWYgKHJlcGx5KSB7CiAgICAgICAgIFFXZWJQYWdlICpwYWdlID0g
bV93ZWJGcmFtZS0+cGFnZSgpOwogICAgICAgICBpZiAocGFnZS0+Zm9yd2FyZFVuc3VwcG9ydGVk
Q29udGVudCgpKQotICAgICAgICAgICAgZW1pdCBtX3dlYkZyYW1lLT5wYWdlKCktPnVuc3VwcG9y
dGVkQ29udGVudChyZXBseSk7CisgICAgICAgICAgICBlbWl0IHBhZ2UtPnVuc3VwcG9ydGVkQ29u
dGVudChyZXBseSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJlcGx5LT5hYm9ydCgpOwog
ICAgIH0KQEAgLTk0Myw3ICs5NDQsOSBAQCBXZWJDb3JlOjpGcmFtZSogRnJhbWVMb2FkZXJDbGll
bnRRdDo6ZGlzcGF0Y2hDcmVhdGVQYWdlKCkKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRRdDo6ZGlz
cGF0Y2hEZWNpZGVQb2xpY3lGb3JNSU1FVHlwZShGcmFtZVBvbGljeUZ1bmN0aW9uIGZ1bmN0aW9u
LCBjb25zdCBXZWJDb3JlOjpTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmKQogewogICAgIC8vIHdlIG5lZWQgdG8gY2FsbCBkaXJlY3RseSBoZXJlCi0gICAg
aWYgKGNhblNob3dNSU1FVHlwZShNSU1FVHlwZSkpCisgICAgaWYgKFdlYkNvcmU6OnNob3VsZFRy
ZWF0QXNBdHRhY2htZW50KG1fZnJhbWUtPmxvYWRlcigpLT5hY3RpdmVEb2N1bWVudExvYWRlcigp
LT5yZXNwb25zZSgpKSkKKyAgICAgICAgY2FsbFBvbGljeUZ1bmN0aW9uKGZ1bmN0aW9uLCBQb2xp
Y3lEb3dubG9hZCk7ICAgIAorICAgIGVsc2UgaWYgKGNhblNob3dNSU1FVHlwZShNSU1FVHlwZSkp
CiAgICAgICAgIGNhbGxQb2xpY3lGdW5jdGlvbihmdW5jdGlvbiwgUG9saWN5VXNlKTsKICAgICBl
bHNlCiAgICAgICAgIGNhbGxQb2xpY3lGdW5jdGlvbihmdW5jdGlvbiwgUG9saWN5RG93bmxvYWQp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51644</attachid>
            <date>2010-03-25 08:53:08 -0700</date>
            <delta_ts>2010-03-29 11:37:03 -0700</delta_ts>
            <desc>Updated Content-Disposition patch IV</desc>
            <filename>qtwebkit_content_disposition_support_5.patch</filename>
            <type>text/plain</type>
            <size>6702</size>
            <attacher name="Dawit A.">adawit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzgwMDdhNi4uMzBlZTg2MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0wMy0yNSAgRGF3aXQgQWxlbWF5
ZWh1ICA8YWRhd2l0QGtkZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgYSBmdW5jdGlvbiwgV2ViQ29yZTo6c2hvdWxkVHJlYXRBc0F0
dGFjaG1lbnQsIHRvIEhUVFBQYXJzZXJzLioKKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYzOTUKKworICAgICAgICBUaGlzIGZ1bmN0aW9uLCBhIGNv
cHkgb2YgdGhlIG9uZSBmb3VuZCBpbiBXZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lQ2xpZW50SW1w
bC5jcHAsCisgICAgICAgIGlzIHVzZWQgdG8gY2hlY2sgd2hldGhlciBvciBub3QgYSByZXF1ZXN0
IGlzIHN1cHBvc2VkIHRvIGJlIHJlbmRlcmVkIG9yIHNpbXBseQorICAgICAgICBkb3dubG9hZGVk
IGJhc2VkIG9uIHRoZSAiQ29udGVudC1EaXNwb3NpdGlvbiIgaGVhZGVyIHNlbnQgYnkgdGhlIHdl
YiBzZXJ2ZXIuIFRoZQorICAgICAgICBpbnRlbnQgb2YgZmFjdG9yaW5nIG91dCB0aGUgY29kZSBo
ZXJlIGlzIHRvIGF2b2lkIGNvZGUgZHVwbGljYXRpb24gc28gdGhhdCB0aGlzCisgICAgICAgIHBp
ZWNlIG9mIGNvZGUgY2FuIGJlIHVzZWQgYnkgb3RoZXIgaW1wbGVtZW50YXRpb25zLCBlLmcuIFF0
V2ViS2l0LCBhcyB3ZWxsLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vy
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRUcmVhdEFzQXR0YWNobWVudCk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oOgorCiAyMDEwLTAzLTE5ICBNaWlr
a2EgSGVpa2tpbmVuICA8bWlpa2thLmhlaWtraW5lbkBkaWdpYS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvSFRUUFBhcnNlcnMuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJz
ZXJzLmNwcAppbmRleCAyNjQ1MzhiLi5jY2ExYmMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9IVFRQUGFyc2Vycy5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZUJh
c2UuaCIKIAogI2luY2x1ZGUgIkNTdHJpbmcuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5o
IgpAQCAtNzAsNiArNzEsMzggQEAgc3RhdGljIGlubGluZSBib29sIHNraXBUb2tlbihjb25zdCBT
dHJpbmcmIHN0ciwgaW50JiBwb3MsIGNvbnN0IGNoYXIqIHRva2VuKQogICAgIHJldHVybiB0cnVl
OwogfQogCitib29sIHNob3VsZFRyZWF0QXNBdHRhY2htZW50KGNvbnN0IFJlc291cmNlUmVzcG9u
c2VCYXNlJiByZXNwb25zZSkKK3sKKyAgICBjb25zdCBTdHJpbmcmIGNvbnRlbnREaXNwb3NpdGlv
biA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZCgiQ29udGVudC1EaXNwb3NpdGlvbiIpOworICAg
IAorICAgIGlmIChjb250ZW50RGlzcG9zaXRpb24uaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICAvLyBTb21lIGJyb2tlbiBzaXRlcyBqdXN0IHNlbmQKKyAgICAvLyBDb250
ZW50LURpc3Bvc2l0aW9uOiA7IGZpbGVuYW1lPSJmaWxlIgorICAgIC8vIHNjcmVlbiB0aG9zZSBv
dXQgaGVyZS4KKyAgICBpZiAoY29udGVudERpc3Bvc2l0aW9uLnN0YXJ0c1dpdGgoIjsiKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGNvbnRlbnREaXNwb3NpdGlvbi5zdGFydHNX
aXRoKCJpbmxpbmUiLCBmYWxzZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFNv
bWUgYnJva2VuIHNpdGVzIGp1c3Qgc2VuZAorICAgIC8vIENvbnRlbnQtRGlzcG9zaXRpb246IGZp
bGVuYW1lPSJmaWxlIgorICAgIC8vIHdpdGhvdXQgYSBkaXNwb3NpdGlvbiB0b2tlbi4uLiBzY3Jl
ZW4gdGhvc2Ugb3V0LgorICAgIGlmIChjb250ZW50RGlzcG9zaXRpb24uc3RhcnRzV2l0aCgiZmls
ZW5hbWUiLCBmYWxzZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIEFsc28gaW4g
dXNlIGlzIENvbnRlbnQtRGlzcG9zaXRpb246IG5hbWU9ImZpbGUiCisgICAgaWYgKGNvbnRlbnRE
aXNwb3NpdGlvbi5zdGFydHNXaXRoKCJuYW1lIiwgZmFsc2UpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICAvLyBXZSBoYXZlIGEgY29udGVudC1kaXNwb3NpdGlvbiBvZiAiYXR0YWNobWVu
dCIgb3IgdW5rbm93bi4KKyAgICAvLyBSRkMgMjE4Mywgc2VjdGlvbiAyLjggc2F5cyB0aGF0IGFu
IHVua25vd24gZGlzcG9zaXRpb24KKyAgICAvLyB2YWx1ZSBzaG91bGQgYmUgdHJlYXRlZCBhcyAi
YXR0YWNobWVudCIKKyAgICByZXR1cm4gdHJ1ZTsgIAorfQorCiBib29sIHBhcnNlSFRUUFJlZnJl
c2goY29uc3QgU3RyaW5nJiByZWZyZXNoLCBib29sIGZyb21IdHRwRXF1aXZNZXRhLCBkb3VibGUm
IGRlbGF5LCBTdHJpbmcmIHVybCkKIHsKICAgICBpbnQgbGVuID0gcmVmcmVzaC5sZW5ndGgoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmgKaW5kZXggYjFjYjcwOS4uYTMyZWJj
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmgKQEAgLTMyLDYgKzMyLDcg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3RyaW5nOworY2xhc3MgUmVzb3VyY2VS
ZXNwb25zZUJhc2U7CiAKIGVudW0gWFNTUHJvdGVjdGlvbkRpc3Bvc2l0aW9uIHsKICAgICBYU1NQ
cm90ZWN0aW9uRGlzYWJsZWQsCkBAIC0zOSw2ICs0MCw4IEBAIGVudW0gWFNTUHJvdGVjdGlvbkRp
c3Bvc2l0aW9uIHsKICAgICBYU1NQcm90ZWN0aW9uQmxvY2tFbmFibGVkCiB9OwogCisKK2Jvb2wg
c2hvdWxkVHJlYXRBc0F0dGFjaG1lbnQoY29uc3QgUmVzb3VyY2VSZXNwb25zZUJhc2UmIHJlc3Bv
bnNlKTsKIGJvb2wgcGFyc2VIVFRQUmVmcmVzaChjb25zdCBTdHJpbmcmIHJlZnJlc2gsIGJvb2wg
ZnJvbUh0dHBFcXVpdk1ldGEsIGRvdWJsZSYgZGVsYXksIFN0cmluZyYgdXJsKTsKIGRvdWJsZSBw
YXJzZURhdGUoY29uc3QgU3RyaW5nJik7CiBTdHJpbmcgZmlsZW5hbWVGcm9tSFRUUENvbnRlbnRE
aXNwb3NpdGlvbihjb25zdCBTdHJpbmcmKTsgCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3
ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IGI3YmQ3YWEuLjc5
YmM2ZjkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktp
dC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0zNTE4LDcgKzM1MTgsMTEgQEAgcXVpbnQ2NCBRV2Vi
UGFnZTo6Ynl0ZXNSZWNlaXZlZCgpIGNvbnN0CiAvKiEKICAgICBcZm4gdm9pZCBRV2ViUGFnZTo6
dW5zdXBwb3J0ZWRDb250ZW50KFFOZXR3b3JrUmVwbHkgKnJlcGx5KQogCi0gICAgVGhpcyBzaWdu
YWwgaXMgZW1pdHRlZCB3aGVuIFdlYktpdCBjYW5ub3QgaGFuZGxlIGEgbGluayB0aGUgdXNlciBu
YXZpZ2F0ZWQgdG8uCisgICAgVGhpcyBzaWduYWwgaXMgZW1pdHRlZCB3aGVuIFdlYktpdCBjYW5u
b3QgaGFuZGxlIGEgbGluayB0aGUgdXNlciBuYXZpZ2F0ZWQgdG8gb3IgYQorICAgIHdlYiBzZXJ2
ZXIncyByZXNwb25zZSBpbmNsdWRlcyBhICJDb250ZW50LURpc3Bvc2l0aW9uIiBoZWFkZXIgd2l0
aCB0aGUgJ2F0dGFjaG1lbnQnIAorICAgIGRpcmVjdGl2ZS4gSWYgIkNvbnRlbnQtRGlzcG9zaXRp
b24iIGlzIHByZXNlbnQgaW4gXGEgcmVwbHksIHRoZSB3ZWIgc2VydmVyIGlzIGluZGljYXRpbmcK
KyAgICB0aGF0IHRoZSBjbGllbnQgc2hvdWxkIHByb21wdCB0aGUgdXNlciB0byBzYXZlIHRoZSBj
b250ZW50IHJlZ2FyZGxlc3Mgb2YgY29udGVudC10eXBlLiAKKyAgICBTZWUgUkZDIDI2MTYgc2Vj
dGlvbnMgMTkuNS4xIGZvciBkZXRhaWxzIGFib3V0IENvbnRlbnQtRGlzcG9zaXRpb24uCiAKICAg
ICBBdCBzaWduYWwgZW1pc3Npb24gdGltZSB0aGUgbWV0YS1kYXRhIG9mIHRoZSBRTmV0d29ya1Jl
cGx5IFxhIHJlcGx5IGlzIGF2YWlsYWJsZS4KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5n
ZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggZDBhNGI1Yi4uMzg3N2E1MCAxMDA2NDQK
LS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMTAtMDMtMjUgIERhd2l0IEFsZW1heWVodSAgPGFkYXdpdEBrZGUub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0g
QWRkZWQgc3VwcG9ydCBmb3IgaGFuZGxpbmcgdGhlIEhUVFAgIkNvbnRlbnQtRGlzcG9zaXRpb24i
IGhlYWRlci4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzYzOTUKKworICAgICAgICBXaGVuZXZlciBhIHNlcnZlciByZXNwb25zZSBjb250YWlucyBh
ICJDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50Li4uIiBoZWFkZXIsIAorICAgICAgICB0
cmVhdCB0aGUgcmVxdWVzdCBhcyBhIGRvd25sb2FkIGFuZCBlbWl0IHRoZSB1bnN1cHBvcnRlZENv
bnRlbnQgc2lnbmFsLgorCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyQ2xpZW50UXQ6OmRvd25sb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
TG9hZGVyQ2xpZW50UXQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTUlNRVR5cGUpOgorCiAyMDEw
LTAzLTI0ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudFF0LmNwcAppbmRleCAyZWIyNzYxLi5jNWM1NzM5IDEwMDY0NAotLS0gYS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKKysrIGIvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCkBAIC01MCw2ICs1
MCw3IEBACiAjaW5jbHVkZSAiSFRNTEFwcGxldEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9y
bUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MUGx1Z0luRWxlbWVudC5oIgorI2luY2x1ZGUgIkhU
VFBQYXJzZXJzLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJRTmV0
d29ya1JlcGx5SGFuZGxlci5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIK
QEAgLTgxOSw3ICs4MjAsNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50UXQ6OmRvd25sb2FkKFdl
YkNvcmU6OlJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFdlYkNvcgogICAgIGlmIChyZXBs
eSkgewogICAgICAgICBRV2ViUGFnZSAqcGFnZSA9IG1fd2ViRnJhbWUtPnBhZ2UoKTsKICAgICAg
ICAgaWYgKHBhZ2UtPmZvcndhcmRVbnN1cHBvcnRlZENvbnRlbnQoKSkKLSAgICAgICAgICAgIGVt
aXQgbV93ZWJGcmFtZS0+cGFnZSgpLT51bnN1cHBvcnRlZENvbnRlbnQocmVwbHkpOworICAgICAg
ICAgICAgZW1pdCBwYWdlLT51bnN1cHBvcnRlZENvbnRlbnQocmVwbHkpOwogICAgICAgICBlbHNl
CiAgICAgICAgICAgICByZXBseS0+YWJvcnQoKTsKICAgICB9CkBAIC05NjYsNyArOTY3LDkgQEAg
V2ViQ29yZTo6RnJhbWUqIEZyYW1lTG9hZGVyQ2xpZW50UXQ6OmRpc3BhdGNoQ3JlYXRlUGFnZSgp
CiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50UXQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTUlNRVR5
cGUoRnJhbWVQb2xpY3lGdW5jdGlvbiBmdW5jdGlvbiwgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiBN
SU1FVHlwZSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JikKIHsKICAgICAvLyB3ZSBu
ZWVkIHRvIGNhbGwgZGlyZWN0bHkgaGVyZQotICAgIGlmIChjYW5TaG93TUlNRVR5cGUoTUlNRVR5
cGUpKQorICAgIGlmIChXZWJDb3JlOjpzaG91bGRUcmVhdEFzQXR0YWNobWVudChtX2ZyYW1lLT5s
b2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+cmVzcG9uc2UoKSkpCisgICAgICAgIGNh
bGxQb2xpY3lGdW5jdGlvbihmdW5jdGlvbiwgUG9saWN5RG93bmxvYWQpOyAgICAKKyAgICBlbHNl
IGlmIChjYW5TaG93TUlNRVR5cGUoTUlNRVR5cGUpKQogICAgICAgICBjYWxsUG9saWN5RnVuY3Rp
b24oZnVuY3Rpb24sIFBvbGljeVVzZSk7CiAgICAgZWxzZQogICAgICAgICBjYWxsUG9saWN5RnVu
Y3Rpb24oZnVuY3Rpb24sIFBvbGljeURvd25sb2FkKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51873</attachid>
            <date>2010-03-28 18:08:38 -0700</date>
            <delta_ts>2010-03-29 06:55:48 -0700</delta_ts>
            <desc>Updated Content-Disposition patch V</desc>
            <filename>qtwebkit_content_disposition_support_6.patch</filename>
            <type>text/plain</type>
            <size>9760</size>
            <attacher name="Dawit A.">adawit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MThhNTk1OC4uYWYxOTA5YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0wMy0yOCAgRGF3aXQgQWxlbWF5
ZWh1ICA8YWRhd2l0QGtkZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgYSBmdW5jdGlvbiwgV2ViQ29yZTo6c2hvdWxkVHJlYXRBc0F0
dGFjaG1lbnQsIHRvIEhUVFBQYXJzZXJzLioKKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYzOTUKKworICAgICAgICBUaGlzIGZ1bmN0aW9uLCB3aGlj
aCB3YXMgbW92ZWQgZnJvbSBXZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lQ2xpZW50SW1wbC5jcHAs
IAorICAgICAgICBpcyB1c2VkIHRvIGNoZWNrIHdoZXRoZXIgb3Igbm90IGEgcmVxdWVzdCBpcyBz
dXBwb3NlZCB0byBiZSByZW5kZXJlZCBvciAKKyAgICAgICAgc2ltcGx5IGRvd25sb2FkZWQgYmFz
ZWQgb24gdGhlICJDb250ZW50LURpc3Bvc2l0aW9uIiBoZWFkZXIgc2VudCBieSB0aGUKKyAgICAg
ICAgd2ViIHNlcnZlci4gVGhlIGludGVudCBvZiBjb2RlIHJlZmFjdG9yaW5nIGlzIHRvIGF2b2lk
IGNvZGUgZHVwbGljYXRpb24KKwlzbyB0aGF0IHRoaXMgcGllY2Ugb2YgY29kZSBjYW4gYmUgdXNl
ZCBieSBvdGhlciBpbXBsZW1lbnRhdGlvbnMgc3VjaCBhcyAKKwlRdFdlYktpdC4KKworICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
c2hvdWxkVHJlYXRBc0F0dGFjaG1lbnQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvSFRU
UFBhcnNlcnMuaDoKKwogMjAxMC0wMy0yOCAgS2ltIEdyw7ZuaG9sbSAgPGtpbS5ncm9uaG9sbUBu
b21vdm9rLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5jcHAgYi9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuY3BwCmluZGV4IDI2NDUzOGIuLmNjYTFiYzEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5jcHAKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmNwcApAQCAtMzAsNiArMzAs
NyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSFRUUFBhcnNlcnMuaCIKKyNp
bmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlQmFzZS5oIgogCiAjaW5jbHVkZSAiQ1N0cmluZy5oIgog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCkBAIC03MCw2ICs3MSwzOCBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc2tpcFRva2VuKGNvbnN0IFN0cmluZyYgc3RyLCBpbnQmIHBvcywgY29uc3QgY2hh
ciogdG9rZW4pCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgc2hvdWxkVHJlYXRBc0F0dGFj
aG1lbnQoY29uc3QgUmVzb3VyY2VSZXNwb25zZUJhc2UmIHJlc3BvbnNlKQoreworICAgIGNvbnN0
IFN0cmluZyYgY29udGVudERpc3Bvc2l0aW9uID0gcmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKCJD
b250ZW50LURpc3Bvc2l0aW9uIik7CisgICAgCisgICAgaWYgKGNvbnRlbnREaXNwb3NpdGlvbi5p
c0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFNvbWUgYnJva2VuIHNp
dGVzIGp1c3Qgc2VuZAorICAgIC8vIENvbnRlbnQtRGlzcG9zaXRpb246IDsgZmlsZW5hbWU9ImZp
bGUiCisgICAgLy8gc2NyZWVuIHRob3NlIG91dCBoZXJlLgorICAgIGlmIChjb250ZW50RGlzcG9z
aXRpb24uc3RhcnRzV2l0aCgiOyIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAo
Y29udGVudERpc3Bvc2l0aW9uLnN0YXJ0c1dpdGgoImlubGluZSIsIGZhbHNlKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgLy8gU29tZSBicm9rZW4gc2l0ZXMganVzdCBzZW5kCisgICAg
Ly8gQ29udGVudC1EaXNwb3NpdGlvbjogZmlsZW5hbWU9ImZpbGUiCisgICAgLy8gd2l0aG91dCBh
IGRpc3Bvc2l0aW9uIHRva2VuLi4uIHNjcmVlbiB0aG9zZSBvdXQuCisgICAgaWYgKGNvbnRlbnRE
aXNwb3NpdGlvbi5zdGFydHNXaXRoKCJmaWxlbmFtZSIsIGZhbHNlKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgLy8gQWxzbyBpbiB1c2UgaXMgQ29udGVudC1EaXNwb3NpdGlvbjogbmFt
ZT0iZmlsZSIKKyAgICBpZiAoY29udGVudERpc3Bvc2l0aW9uLnN0YXJ0c1dpdGgoIm5hbWUiLCBm
YWxzZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFdlIGhhdmUgYSBjb250ZW50
LWRpc3Bvc2l0aW9uIG9mICJhdHRhY2htZW50IiBvciB1bmtub3duLgorICAgIC8vIFJGQyAyMTgz
LCBzZWN0aW9uIDIuOCBzYXlzIHRoYXQgYW4gdW5rbm93biBkaXNwb3NpdGlvbgorICAgIC8vIHZh
bHVlIHNob3VsZCBiZSB0cmVhdGVkIGFzICJhdHRhY2htZW50IgorICAgIHJldHVybiB0cnVlOyAg
Cit9CisKIGJvb2wgcGFyc2VIVFRQUmVmcmVzaChjb25zdCBTdHJpbmcmIHJlZnJlc2gsIGJvb2wg
ZnJvbUh0dHBFcXVpdk1ldGEsIGRvdWJsZSYgZGVsYXksIFN0cmluZyYgdXJsKQogewogICAgIGlu
dCBsZW4gPSByZWZyZXNoLmxlbmd0aCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0hUVFBQYXJzZXJzLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNl
cnMuaAppbmRleCBiMWNiNzA5Li5hMzJlYmMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvSFRUUFBhcnNlcnMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRU
UFBhcnNlcnMuaApAQCAtMzIsNiArMzIsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBTdHJpbmc7CitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZTsKIAogZW51bSBYU1NQcm90ZWN0
aW9uRGlzcG9zaXRpb24gewogICAgIFhTU1Byb3RlY3Rpb25EaXNhYmxlZCwKQEAgLTM5LDYgKzQw
LDggQEAgZW51bSBYU1NQcm90ZWN0aW9uRGlzcG9zaXRpb24gewogICAgIFhTU1Byb3RlY3Rpb25C
bG9ja0VuYWJsZWQKIH07CiAKKworYm9vbCBzaG91bGRUcmVhdEFzQXR0YWNobWVudChjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlQmFzZSYgcmVzcG9uc2UpOwogYm9vbCBwYXJzZUhUVFBSZWZyZXNoKGNv
bnN0IFN0cmluZyYgcmVmcmVzaCwgYm9vbCBmcm9tSHR0cEVxdWl2TWV0YSwgZG91YmxlJiBkZWxh
eSwgU3RyaW5nJiB1cmwpOwogZG91YmxlIHBhcnNlRGF0ZShjb25zdCBTdHJpbmcmKTsKIFN0cmlu
ZyBmaWxlbmFtZUZyb21IVFRQQ29udGVudERpc3Bvc2l0aW9uKGNvbnN0IFN0cmluZyYpOyAKZGlm
ZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCmluZGV4IDAyYWJkYTAuLjQ1MjJhMjYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDEwLTAzLTI4ICBEYXdpdCBBbGVtYXllaHUgIDxhZGF3aXRAa2RlLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworCUZhY3RvcmVkIG91dCB0aGUgJ1No
b3VsZFRyZWF0QXNBdHRhY2htZW50JyBmdW5jdGlvbiB0byBIVFRQUGFyc2Vycy4qCisgICAgICAg
IGFuZCByZXBsYWN0ZWQgbG9jYWwgdmVyc2lvbiB3aXRoIHRoZSBmYWN0b3JlZCBvdXQgdmVyc2lv
bi4KKworCVRoZSBjb2RlIHdhcyBmYWN0b3JlZCBvdXQgdG8gbWFrZSBwb3NzaWJsZSBpdHMgdXNl
IGluIG90aGVyIGltcGxlbWVudGF0aW9ucworCXN1Y2ggYXMgcXR3ZWJraXQuCisKKyAgICAgICAg
KiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RnJhbWVM
b2FkZXJDbGllbnRJbXBsOjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck1JTUVUeXBlKToKKwogMjAx
MC0wMy0yNCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0Zy
YW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVy
Q2xpZW50SW1wbC5jcHAKaW5kZXggZDg0NzgwMi4uOWQ1OWZkZCAxMDA2NDQKLS0tIGEvV2ViS2l0
L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCisrKyBiL1dlYktpdC9jaHJv
bWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2lu
Y2x1ZGUgIkZvcm1TdGF0ZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAi
RnJhbWVMb2FkUmVxdWVzdC5oIgorI2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCiAjaW5jbHVkZSAi
SGlzdG9yeUl0ZW0uaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiSFRN
TEFwcGxldEVsZW1lbnQuaCIKQEAgLTgyOCwzOCArODI5LDYgQEAgdm9pZCBGcmFtZUxvYWRlckNs
aWVudEltcGw6OmRpc3BhdGNoU2hvdygpCiAgICAgICAgIHdlYlZpZXctPmNsaWVudCgpLT5zaG93
KHdlYlZpZXctPmluaXRpYWxOYXZpZ2F0aW9uUG9saWN5KCkpOwogfQogCi1zdGF0aWMgYm9vbCBz
aG91bGRUcmVhdEFzQXR0YWNobWVudChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkK
LXsKLSAgICBjb25zdCBTdHJpbmcmIGNvbnRlbnREaXNwb3NpdGlvbiA9Ci0gICAgICAgIHJlc3Bv
bnNlLmh0dHBIZWFkZXJGaWVsZCgiQ29udGVudC1EaXNwb3NpdGlvbiIpOwotICAgIGlmIChjb250
ZW50RGlzcG9zaXRpb24uaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAv
LyBTb21lIGJyb2tlbiBzaXRlcyBqdXN0IHNlbmQKLSAgICAvLyBDb250ZW50LURpc3Bvc2l0aW9u
OiA7IGZpbGVuYW1lPSJmaWxlIgotICAgIC8vIHNjcmVlbiB0aG9zZSBvdXQgaGVyZS4KLSAgICBp
ZiAoY29udGVudERpc3Bvc2l0aW9uLnN0YXJ0c1dpdGgoIjsiKSkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotCi0gICAgaWYgKGNvbnRlbnREaXNwb3NpdGlvbi5zdGFydHNXaXRoKCJpbmxpbmUiLCBm
YWxzZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIC8vIFNvbWUgYnJva2VuIHNpdGVz
IGp1c3Qgc2VuZAotICAgIC8vIENvbnRlbnQtRGlzcG9zaXRpb246IGZpbGVuYW1lPSJmaWxlIgot
ICAgIC8vIHdpdGhvdXQgYSBkaXNwb3NpdGlvbiB0b2tlbi4uLiBzY3JlZW4gdGhvc2Ugb3V0Lgot
ICAgIGlmIChjb250ZW50RGlzcG9zaXRpb24uc3RhcnRzV2l0aCgiZmlsZW5hbWUiLCBmYWxzZSkp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIC8vIEFsc28gaW4gdXNlIGlzIENvbnRlbnQt
RGlzcG9zaXRpb246IG5hbWU9ImZpbGUiCi0gICAgaWYgKGNvbnRlbnREaXNwb3NpdGlvbi5zdGFy
dHNXaXRoKCJuYW1lIiwgZmFsc2UpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAvLyBX
ZSBoYXZlIGEgY29udGVudC1kaXNwb3NpdGlvbiBvZiAiYXR0YWNobWVudCIgb3IgdW5rbm93bi4K
LSAgICAvLyBSRkMgMjE4Mywgc2VjdGlvbiAyLjggc2F5cyB0aGF0IGFuIHVua25vd24gZGlzcG9z
aXRpb24KLSAgICAvLyB2YWx1ZSBzaG91bGQgYmUgdHJlYXRlZCBhcyAiYXR0YWNobWVudCIKLSAg
ICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNo
RGVjaWRlUG9saWN5Rm9yTUlNRVR5cGUoCiAgICAgIEZyYW1lUG9saWN5RnVuY3Rpb24gZnVuY3Rp
b24sCiAgICAgIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsCkBAIC04NzQsNyArODQzLDcgQEAgdm9p
ZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTUlNRVR5cGUo
CiAgICAgaWYgKHN0YXR1c0NvZGUgPT0gMjA0IHx8IHN0YXR1c0NvZGUgPT0gMjA1KSB7CiAgICAg
ICAgIC8vIFRoZSBzZXJ2ZXIgZG9lcyBub3Qgd2FudCB1cyB0byByZXBsYWNlIHRoZSBwYWdlIGNv
bnRlbnRzLgogICAgICAgICBhY3Rpb24gPSBQb2xpY3lJZ25vcmU7Ci0gICAgfSBlbHNlIGlmIChz
aG91bGRUcmVhdEFzQXR0YWNobWVudChyZXNwb25zZSkpIHsKKyAgICB9IGVsc2UgaWYgKFdlYkNv
cmU6OnNob3VsZFRyZWF0QXNBdHRhY2htZW50KHJlc3BvbnNlKSkgewogICAgICAgICAvLyBUaGUg
c2VydmVyIHdhbnRzIHVzIHRvIGRvd25sb2FkIGluc3RlYWQgb2YgcmVwbGFjaW5nIHRoZSBwYWdl
IGNvbnRlbnRzLgogICAgICAgICAvLyBEb3dubG9hZGluZyBpcyBoYW5kbGVkIGJ5IHRoZSBlbWJl
ZGRlciwgYnV0IHdlIHN0aWxsIGdldCB0aGUgaW5pdGlhbAogICAgICAgICAvLyByZXNwb25zZSBz
byB0aGF0IHdlIGNhbiBpZ25vcmUgaXQgYW5kIGNsZWFuIHVwIHByb3Blcmx5LgpkaWZmIC0tZ2l0
IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNw
cAppbmRleCBmZGJiMzI0Li5jZThmYzMyIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlLmNwcAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMzU0MCw3ICszNTQw
LDExIEBAIHF1aW50NjQgUVdlYlBhZ2U6OmJ5dGVzUmVjZWl2ZWQoKSBjb25zdAogLyohCiAgICAg
XGZuIHZvaWQgUVdlYlBhZ2U6OnVuc3VwcG9ydGVkQ29udGVudChRTmV0d29ya1JlcGx5ICpyZXBs
eSkKIAotICAgIFRoaXMgc2lnbmFsIGlzIGVtaXR0ZWQgd2hlbiBXZWJLaXQgY2Fubm90IGhhbmRs
ZSBhIGxpbmsgdGhlIHVzZXIgbmF2aWdhdGVkIHRvLgorICAgIFRoaXMgc2lnbmFsIGlzIGVtaXR0
ZWQgd2hlbiBXZWJLaXQgY2Fubm90IGhhbmRsZSBhIGxpbmsgdGhlIHVzZXIgbmF2aWdhdGVkIHRv
IG9yIGEKKyAgICB3ZWIgc2VydmVyJ3MgcmVzcG9uc2UgaW5jbHVkZXMgYSAiQ29udGVudC1EaXNw
b3NpdGlvbiIgaGVhZGVyIHdpdGggdGhlICdhdHRhY2htZW50JyAKKyAgICBkaXJlY3RpdmUuIElm
ICJDb250ZW50LURpc3Bvc2l0aW9uIiBpcyBwcmVzZW50IGluIFxhIHJlcGx5LCB0aGUgd2ViIHNl
cnZlciBpcyBpbmRpY2F0aW5nCisgICAgdGhhdCB0aGUgY2xpZW50IHNob3VsZCBwcm9tcHQgdGhl
IHVzZXIgdG8gc2F2ZSB0aGUgY29udGVudCByZWdhcmRsZXNzIG9mIGNvbnRlbnQtdHlwZS4gCisg
ICAgU2VlIFJGQyAyNjE2IHNlY3Rpb25zIDE5LjUuMSBmb3IgZGV0YWlscyBhYm91dCBDb250ZW50
LURpc3Bvc2l0aW9uLgogCiAgICAgQXQgc2lnbmFsIGVtaXNzaW9uIHRpbWUgdGhlIG1ldGEtZGF0
YSBvZiB0aGUgUU5ldHdvcmtSZXBseSBcYSByZXBseSBpcyBhdmFpbGFibGUuCiAKZGlmZiAtLWdp
dCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDFmYjIx
NWQuLjQ5ODg5OGMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0
L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEwLTAzLTI4ICBEYXdpdCBBbGVtYXll
aHUgIDxhZGF3aXRAa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBbUXRdIEFkZGVkIHN1cHBvcnQgZm9yIGhhbmRsaW5nIHRoZSBIVFRQICJD
b250ZW50LURpc3Bvc2l0aW9uIiBoZWFkZXIuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM2Mzk1CisKKyAgICAgICAgV2hlbmV2ZXIgYSBzZXJ2ZXIg
cmVzcG9uc2UgY29udGFpbnMgYSAiQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudC4uLiIg
aGVhZGVyLCAKKyAgICAgICAgdHJlYXQgdGhlIHJlcXVlc3QgYXMgYSBkb3dubG9hZCBhbmQgZW1p
dCB0aGUgdW5zdXBwb3J0ZWRDb250ZW50IHNpZ25hbC4KKworICAgICAgICAqIEFwaS9xd2VicGFn
ZS5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0Ojpkb3dubG9hZCk6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaERlY2lkZVBvbGljeUZv
ck1JTUVUeXBlKToKKwogMjAxMC0wMy0yNSAgWWFlbCBBaGFyb24gIDx5YWVsLmFoYXJvbkBub2tp
YS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4u
CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRR
dC5jcHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAK
aW5kZXggMmViMjc2MS4uYzVjNTczOSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcApAQCAtNTAsNiArNTAsNyBAQAogI2luY2x1ZGUgIkhU
TUxBcHBsZXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTFBsdWdJbkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVFRQUGFyc2Vycy5oIgogI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUU5ldHdvcmtSZXBseUhhbmRsZXIuaCIK
ICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCkBAIC04MTksNyArODIwLDcgQEAg
dm9pZCBGcmFtZUxvYWRlckNsaWVudFF0Ojpkb3dubG9hZChXZWJDb3JlOjpSZXNvdXJjZUhhbmRs
ZSogaGFuZGxlLCBjb25zdCBXZWJDb3IKICAgICBpZiAocmVwbHkpIHsKICAgICAgICAgUVdlYlBh
Z2UgKnBhZ2UgPSBtX3dlYkZyYW1lLT5wYWdlKCk7CiAgICAgICAgIGlmIChwYWdlLT5mb3J3YXJk
VW5zdXBwb3J0ZWRDb250ZW50KCkpCi0gICAgICAgICAgICBlbWl0IG1fd2ViRnJhbWUtPnBhZ2Uo
KS0+dW5zdXBwb3J0ZWRDb250ZW50KHJlcGx5KTsKKyAgICAgICAgICAgIGVtaXQgcGFnZS0+dW5z
dXBwb3J0ZWRDb250ZW50KHJlcGx5KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmVwbHkt
PmFib3J0KCk7CiAgICAgfQpAQCAtOTY2LDcgKzk2Nyw5IEBAIFdlYkNvcmU6OkZyYW1lKiBGcmFt
ZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaENyZWF0ZVBhZ2UoKQogdm9pZCBGcmFtZUxvYWRlckNs
aWVudFF0OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck1JTUVUeXBlKEZyYW1lUG9saWN5RnVuY3Rp
b24gZnVuY3Rpb24sIGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYpCiB7CiAgICAgLy8gd2UgbmVlZCB0byBjYWxsIGRpcmVjdGx5
IGhlcmUKLSAgICBpZiAoY2FuU2hvd01JTUVUeXBlKE1JTUVUeXBlKSkKKyAgICBpZiAoV2ViQ29y
ZTo6c2hvdWxkVHJlYXRBc0F0dGFjaG1lbnQobV9mcmFtZS0+bG9hZGVyKCktPmFjdGl2ZURvY3Vt
ZW50TG9hZGVyKCktPnJlc3BvbnNlKCkpKQorICAgICAgICBjYWxsUG9saWN5RnVuY3Rpb24oZnVu
Y3Rpb24sIFBvbGljeURvd25sb2FkKTsgICAgCisgICAgZWxzZSBpZiAoY2FuU2hvd01JTUVUeXBl
KE1JTUVUeXBlKSkKICAgICAgICAgY2FsbFBvbGljeUZ1bmN0aW9uKGZ1bmN0aW9uLCBQb2xpY3lV
c2UpOwogICAgIGVsc2UKICAgICAgICAgY2FsbFBvbGljeUZ1bmN0aW9uKGZ1bmN0aW9uLCBQb2xp
Y3lEb3dubG9hZCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51905</attachid>
            <date>2010-03-29 06:55:48 -0700</date>
            <delta_ts>2010-03-29 16:58:09 -0700</delta_ts>
            <desc>Updated Content-Disposition patch VI</desc>
            <filename>qtwebkit_content_disposition_support_6.patch</filename>
            <type>text/plain</type>
            <size>10492</size>
            <attacher name="Dawit A.">adawit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MThhNTk1OC4uNDExNDc0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0wMy0yOCAgRGF3aXQgQWxlbWF5
ZWh1ICA8YWRhd2l0QGtkZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgYSBmdW5jdGlvbiwgV2ViQ29yZTo6c2hvdWxkVHJlYXRBc0F0
dGFjaG1lbnQsIHRvIEhUVFBQYXJzZXJzLioKKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYzOTUKKworICAgICAgICBUaGlzIGZ1bmN0aW9uLCB3aGlj
aCB3YXMgbW92ZWQgZnJvbSBXZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lQ2xpZW50SW1wbC5jcHAs
CisgICAgICAgIGlzIHVzZWQgdG8gY2hlY2sgd2hldGhlciBvciBub3QgYSByZXF1ZXN0IGlzIHN1
cHBvc2VkIHRvIGJlIHJlbmRlcmVkIG9yCisgICAgICAgIHNpbXBseSBkb3dubG9hZGVkIGJhc2Vk
IG9uIHRoZSAiQ29udGVudC1EaXNwb3NpdGlvbiIgaGVhZGVyIHNlbnQgYnkgdGhlCisgICAgICAg
IHdlYiBzZXJ2ZXIuIFRoZSBpbnRlbnQgb2YgY29kZSByZWZhY3RvcmluZyBpcyB0byBhdm9pZCBj
b2RlIGR1cGxpY2F0aW9uCisgICAgICAgIHNvIHRoYXQgdGhpcyBwaWVjZSBvZiBjb2RlIGNhbiBi
ZSB1c2VkIGJ5IG90aGVyIGltcGxlbWVudGF0aW9ucyBzdWNoIGFzCisgICAgICAgIFF0V2ViS2l0
LgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpzaG91bGRUcmVhdEFzQXR0YWNobWVudCk6CisgICAgICAgICogcGxhdGZvcm0v
bmV0d29yay9IVFRQUGFyc2Vycy5oOgorCiAyMDEwLTAzLTI4ICBLaW0gR3LDtm5ob2xtICA8a2lt
Lmdyb25ob2xtQG5vbW92b2suY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNt
YW5uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmNw
cCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5jcHAKaW5kZXggMjY0NTM4
Yi4uZmMwYzI0NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJz
ZXJzLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuY3BwCkBA
IC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3Yg
KGFwQHdlYmtpdC5vcmcpCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA5IFRv
cmNoIE1vYmlsZSBJbmMuIGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLworICogQ29weXJpZ2h0
IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTMwLDYgKzMxLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZUJh
c2UuaCIKIAogI2luY2x1ZGUgIkNTdHJpbmcuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5o
IgpAQCAtNzAsNiArNzIsMzggQEAgc3RhdGljIGlubGluZSBib29sIHNraXBUb2tlbihjb25zdCBT
dHJpbmcmIHN0ciwgaW50JiBwb3MsIGNvbnN0IGNoYXIqIHRva2VuKQogICAgIHJldHVybiB0cnVl
OwogfQogCitib29sIHNob3VsZFRyZWF0QXNBdHRhY2htZW50KGNvbnN0IFJlc291cmNlUmVzcG9u
c2VCYXNlJiByZXNwb25zZSkKK3sKKyAgICBjb25zdCBTdHJpbmcmIGNvbnRlbnREaXNwb3NpdGlv
biA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZCgiQ29udGVudC1EaXNwb3NpdGlvbiIpOworICAg
IAorICAgIGlmIChjb250ZW50RGlzcG9zaXRpb24uaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICAvLyBTb21lIGJyb2tlbiBzaXRlcyBqdXN0IHNlbmQKKyAgICAvLyBDb250
ZW50LURpc3Bvc2l0aW9uOiA7IGZpbGVuYW1lPSJmaWxlIgorICAgIC8vIHNjcmVlbiB0aG9zZSBv
dXQgaGVyZS4KKyAgICBpZiAoY29udGVudERpc3Bvc2l0aW9uLnN0YXJ0c1dpdGgoIjsiKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGNvbnRlbnREaXNwb3NpdGlvbi5zdGFydHNX
aXRoKCJpbmxpbmUiLCBmYWxzZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFNv
bWUgYnJva2VuIHNpdGVzIGp1c3Qgc2VuZAorICAgIC8vIENvbnRlbnQtRGlzcG9zaXRpb246IGZp
bGVuYW1lPSJmaWxlIgorICAgIC8vIHdpdGhvdXQgYSBkaXNwb3NpdGlvbiB0b2tlbi4uLiBzY3Jl
ZW4gdGhvc2Ugb3V0LgorICAgIGlmIChjb250ZW50RGlzcG9zaXRpb24uc3RhcnRzV2l0aCgiZmls
ZW5hbWUiLCBmYWxzZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIEFsc28gaW4g
dXNlIGlzIENvbnRlbnQtRGlzcG9zaXRpb246IG5hbWU9ImZpbGUiCisgICAgaWYgKGNvbnRlbnRE
aXNwb3NpdGlvbi5zdGFydHNXaXRoKCJuYW1lIiwgZmFsc2UpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICAvLyBXZSBoYXZlIGEgY29udGVudC1kaXNwb3NpdGlvbiBvZiAiYXR0YWNobWVu
dCIgb3IgdW5rbm93bi4KKyAgICAvLyBSRkMgMjE4Mywgc2VjdGlvbiAyLjggc2F5cyB0aGF0IGFu
IHVua25vd24gZGlzcG9zaXRpb24KKyAgICAvLyB2YWx1ZSBzaG91bGQgYmUgdHJlYXRlZCBhcyAi
YXR0YWNobWVudCIKKyAgICByZXR1cm4gdHJ1ZTsgIAorfQorCiBib29sIHBhcnNlSFRUUFJlZnJl
c2goY29uc3QgU3RyaW5nJiByZWZyZXNoLCBib29sIGZyb21IdHRwRXF1aXZNZXRhLCBkb3VibGUm
IGRlbGF5LCBTdHJpbmcmIHVybCkKIHsKICAgICBpbnQgbGVuID0gcmVmcmVzaC5sZW5ndGgoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmgKaW5kZXggYjFjYjcwOS4uZDU2OGJk
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmgKQEAgLTEsNSArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YgKGFwQHdlYmtp
dC5vcmcpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzIsNiArMzMsNyBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTdHJpbmc7CitjbGFzcyBSZXNvdXJjZVJlc3Bv
bnNlQmFzZTsKIAogZW51bSBYU1NQcm90ZWN0aW9uRGlzcG9zaXRpb24gewogICAgIFhTU1Byb3Rl
Y3Rpb25EaXNhYmxlZCwKQEAgLTM5LDYgKzQxLDggQEAgZW51bSBYU1NQcm90ZWN0aW9uRGlzcG9z
aXRpb24gewogICAgIFhTU1Byb3RlY3Rpb25CbG9ja0VuYWJsZWQKIH07CiAKKworYm9vbCBzaG91
bGRUcmVhdEFzQXR0YWNobWVudChjb25zdCBSZXNvdXJjZVJlc3BvbnNlQmFzZSYgcmVzcG9uc2Up
OwogYm9vbCBwYXJzZUhUVFBSZWZyZXNoKGNvbnN0IFN0cmluZyYgcmVmcmVzaCwgYm9vbCBmcm9t
SHR0cEVxdWl2TWV0YSwgZG91YmxlJiBkZWxheSwgU3RyaW5nJiB1cmwpOwogZG91YmxlIHBhcnNl
RGF0ZShjb25zdCBTdHJpbmcmKTsKIFN0cmluZyBmaWxlbmFtZUZyb21IVFRQQ29udGVudERpc3Bv
c2l0aW9uKGNvbnN0IFN0cmluZyYpOyAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDAyYWJkYTAuLmZhODdkY2Yg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEwLTAzLTI4ICBEYXdpdCBBbGVtYXll
aHUgIDxhZGF3aXRAa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBGYWN0b3JlZCBvdXQgdGhlICdTaG91bGRUcmVhdEFzQXR0YWNobWVudCcg
ZnVuY3Rpb24gdG8gSFRUUFBhcnNlcnMuKgorICAgICAgICBhbmQgcmVwbGFjdGVkIGxvY2FsIHZl
cnNpb24gd2l0aCB0aGUgZmFjdG9yZWQgb3V0IHZlcnNpb24uCisKKyAgICAgICAgVGhlIGNvZGUg
d2FzIGZhY3RvcmVkIG91dCB0byBtYWtlIHBvc3NpYmxlIGl0cyB1c2UgaW4gb3RoZXIgaW1wbGVt
ZW50YXRpb25zCisgICAgICAgIHN1Y2ggYXMgUXRXZWJLaXQuCisKKyAgICAgICAgKiBzcmMvRnJh
bWVMb2FkZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGll
bnRJbXBsOjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck1JTUVUeXBlKToKKwogMjAxMC0wMy0yNCAg
S2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVy
Q2xpZW50SW1wbC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1w
bC5jcHAKaW5kZXggZDg0NzgwMi4uOWQ1OWZkZCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMv
RnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkZv
cm1TdGF0ZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2Fk
UmVxdWVzdC5oIgorI2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCiAjaW5jbHVkZSAiSGlzdG9yeUl0
ZW0uaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiSFRNTEFwcGxldEVs
ZW1lbnQuaCIKQEAgLTgyOCwzOCArODI5LDYgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6
OmRpc3BhdGNoU2hvdygpCiAgICAgICAgIHdlYlZpZXctPmNsaWVudCgpLT5zaG93KHdlYlZpZXct
PmluaXRpYWxOYXZpZ2F0aW9uUG9saWN5KCkpOwogfQogCi1zdGF0aWMgYm9vbCBzaG91bGRUcmVh
dEFzQXR0YWNobWVudChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLXsKLSAgICBj
b25zdCBTdHJpbmcmIGNvbnRlbnREaXNwb3NpdGlvbiA9Ci0gICAgICAgIHJlc3BvbnNlLmh0dHBI
ZWFkZXJGaWVsZCgiQ29udGVudC1EaXNwb3NpdGlvbiIpOwotICAgIGlmIChjb250ZW50RGlzcG9z
aXRpb24uaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAvLyBTb21lIGJy
b2tlbiBzaXRlcyBqdXN0IHNlbmQKLSAgICAvLyBDb250ZW50LURpc3Bvc2l0aW9uOiA7IGZpbGVu
YW1lPSJmaWxlIgotICAgIC8vIHNjcmVlbiB0aG9zZSBvdXQgaGVyZS4KLSAgICBpZiAoY29udGVu
dERpc3Bvc2l0aW9uLnN0YXJ0c1dpdGgoIjsiKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0g
ICAgaWYgKGNvbnRlbnREaXNwb3NpdGlvbi5zdGFydHNXaXRoKCJpbmxpbmUiLCBmYWxzZSkpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIC8vIFNvbWUgYnJva2VuIHNpdGVzIGp1c3Qgc2Vu
ZAotICAgIC8vIENvbnRlbnQtRGlzcG9zaXRpb246IGZpbGVuYW1lPSJmaWxlIgotICAgIC8vIHdp
dGhvdXQgYSBkaXNwb3NpdGlvbiB0b2tlbi4uLiBzY3JlZW4gdGhvc2Ugb3V0LgotICAgIGlmIChj
b250ZW50RGlzcG9zaXRpb24uc3RhcnRzV2l0aCgiZmlsZW5hbWUiLCBmYWxzZSkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLQotICAgIC8vIEFsc28gaW4gdXNlIGlzIENvbnRlbnQtRGlzcG9zaXRp
b246IG5hbWU9ImZpbGUiCi0gICAgaWYgKGNvbnRlbnREaXNwb3NpdGlvbi5zdGFydHNXaXRoKCJu
YW1lIiwgZmFsc2UpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAvLyBXZSBoYXZlIGEg
Y29udGVudC1kaXNwb3NpdGlvbiBvZiAiYXR0YWNobWVudCIgb3IgdW5rbm93bi4KLSAgICAvLyBS
RkMgMjE4Mywgc2VjdGlvbiAyLjggc2F5cyB0aGF0IGFuIHVua25vd24gZGlzcG9zaXRpb24KLSAg
ICAvLyB2YWx1ZSBzaG91bGQgYmUgdHJlYXRlZCBhcyAiYXR0YWNobWVudCIKLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQogdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoRGVjaWRlUG9s
aWN5Rm9yTUlNRVR5cGUoCiAgICAgIEZyYW1lUG9saWN5RnVuY3Rpb24gZnVuY3Rpb24sCiAgICAg
IGNvbnN0IFN0cmluZyYgbWltZVR5cGUsCkBAIC04NzQsNyArODQzLDcgQEAgdm9pZCBGcmFtZUxv
YWRlckNsaWVudEltcGw6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTUlNRVR5cGUoCiAgICAgaWYg
KHN0YXR1c0NvZGUgPT0gMjA0IHx8IHN0YXR1c0NvZGUgPT0gMjA1KSB7CiAgICAgICAgIC8vIFRo
ZSBzZXJ2ZXIgZG9lcyBub3Qgd2FudCB1cyB0byByZXBsYWNlIHRoZSBwYWdlIGNvbnRlbnRzLgog
ICAgICAgICBhY3Rpb24gPSBQb2xpY3lJZ25vcmU7Ci0gICAgfSBlbHNlIGlmIChzaG91bGRUcmVh
dEFzQXR0YWNobWVudChyZXNwb25zZSkpIHsKKyAgICB9IGVsc2UgaWYgKFdlYkNvcmU6OnNob3Vs
ZFRyZWF0QXNBdHRhY2htZW50KHJlc3BvbnNlKSkgewogICAgICAgICAvLyBUaGUgc2VydmVyIHdh
bnRzIHVzIHRvIGRvd25sb2FkIGluc3RlYWQgb2YgcmVwbGFjaW5nIHRoZSBwYWdlIGNvbnRlbnRz
LgogICAgICAgICAvLyBEb3dubG9hZGluZyBpcyBoYW5kbGVkIGJ5IHRoZSBlbWJlZGRlciwgYnV0
IHdlIHN0aWxsIGdldCB0aGUgaW5pdGlhbAogICAgICAgICAvLyByZXNwb25zZSBzbyB0aGF0IHdl
IGNhbiBpZ25vcmUgaXQgYW5kIGNsZWFuIHVwIHByb3Blcmx5LgpkaWZmIC0tZ2l0IGEvV2ViS2l0
L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCBm
ZGJiMzI0Li5jZThmYzMyIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAor
KysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMzU0MCw3ICszNTQwLDExIEBAIHF1
aW50NjQgUVdlYlBhZ2U6OmJ5dGVzUmVjZWl2ZWQoKSBjb25zdAogLyohCiAgICAgXGZuIHZvaWQg
UVdlYlBhZ2U6OnVuc3VwcG9ydGVkQ29udGVudChRTmV0d29ya1JlcGx5ICpyZXBseSkKIAotICAg
IFRoaXMgc2lnbmFsIGlzIGVtaXR0ZWQgd2hlbiBXZWJLaXQgY2Fubm90IGhhbmRsZSBhIGxpbmsg
dGhlIHVzZXIgbmF2aWdhdGVkIHRvLgorICAgIFRoaXMgc2lnbmFsIGlzIGVtaXR0ZWQgd2hlbiBX
ZWJLaXQgY2Fubm90IGhhbmRsZSBhIGxpbmsgdGhlIHVzZXIgbmF2aWdhdGVkIHRvIG9yIGEKKyAg
ICB3ZWIgc2VydmVyJ3MgcmVzcG9uc2UgaW5jbHVkZXMgYSAiQ29udGVudC1EaXNwb3NpdGlvbiIg
aGVhZGVyIHdpdGggdGhlICdhdHRhY2htZW50JyAKKyAgICBkaXJlY3RpdmUuIElmICJDb250ZW50
LURpc3Bvc2l0aW9uIiBpcyBwcmVzZW50IGluIFxhIHJlcGx5LCB0aGUgd2ViIHNlcnZlciBpcyBp
bmRpY2F0aW5nCisgICAgdGhhdCB0aGUgY2xpZW50IHNob3VsZCBwcm9tcHQgdGhlIHVzZXIgdG8g
c2F2ZSB0aGUgY29udGVudCByZWdhcmRsZXNzIG9mIGNvbnRlbnQtdHlwZS4gCisgICAgU2VlIFJG
QyAyNjE2IHNlY3Rpb25zIDE5LjUuMSBmb3IgZGV0YWlscyBhYm91dCBDb250ZW50LURpc3Bvc2l0
aW9uLgogCiAgICAgQXQgc2lnbmFsIGVtaXNzaW9uIHRpbWUgdGhlIG1ldGEtZGF0YSBvZiB0aGUg
UU5ldHdvcmtSZXBseSBcYSByZXBseSBpcyBhdmFpbGFibGUuCiAKZGlmZiAtLWdpdCBhL1dlYktp
dC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDFmYjIxNWQuLjQ5ODg5
OGMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEwLTAzLTI4ICBEYXdpdCBBbGVtYXllaHUgIDxhZGF3
aXRAa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbUXRdIEFkZGVkIHN1cHBvcnQgZm9yIGhhbmRsaW5nIHRoZSBIVFRQICJDb250ZW50LURp
c3Bvc2l0aW9uIiBoZWFkZXIuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM2Mzk1CisKKyAgICAgICAgV2hlbmV2ZXIgYSBzZXJ2ZXIgcmVzcG9uc2Ug
Y29udGFpbnMgYSAiQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudC4uLiIgaGVhZGVyLCAK
KyAgICAgICAgdHJlYXQgdGhlIHJlcXVlc3QgYXMgYSBkb3dubG9hZCBhbmQgZW1pdCB0aGUgdW5z
dXBwb3J0ZWRDb250ZW50IHNpZ25hbC4KKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6Cisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0Ojpkb3dubG9hZCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck1JTUVUeXBl
KToKKwogMjAxMC0wMy0yNSAgWWFlbCBBaGFyb24gIDx5YWVsLmFoYXJvbkBub2tpYS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1n
aXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAgYi9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKaW5kZXggMmVi
Mjc2MS4uYzVjNTczOSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50UXQuY3BwCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudFF0LmNwcApAQCAtNTAsNiArNTAsNyBAQAogI2luY2x1ZGUgIkhUTUxBcHBsZXRF
bGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFBs
dWdJbkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVFRQUGFyc2Vycy5oIgogI2luY2x1ZGUgIk5vdElt
cGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUU5ldHdvcmtSZXBseUhhbmRsZXIuaCIKICNpbmNsdWRl
ICJSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCkBAIC04MTksNyArODIwLDcgQEAgdm9pZCBGcmFt
ZUxvYWRlckNsaWVudFF0Ojpkb3dubG9hZChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSogaGFuZGxl
LCBjb25zdCBXZWJDb3IKICAgICBpZiAocmVwbHkpIHsKICAgICAgICAgUVdlYlBhZ2UgKnBhZ2Ug
PSBtX3dlYkZyYW1lLT5wYWdlKCk7CiAgICAgICAgIGlmIChwYWdlLT5mb3J3YXJkVW5zdXBwb3J0
ZWRDb250ZW50KCkpCi0gICAgICAgICAgICBlbWl0IG1fd2ViRnJhbWUtPnBhZ2UoKS0+dW5zdXBw
b3J0ZWRDb250ZW50KHJlcGx5KTsKKyAgICAgICAgICAgIGVtaXQgcGFnZS0+dW5zdXBwb3J0ZWRD
b250ZW50KHJlcGx5KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmVwbHktPmFib3J0KCk7
CiAgICAgfQpAQCAtOTY2LDcgKzk2Nyw5IEBAIFdlYkNvcmU6OkZyYW1lKiBGcmFtZUxvYWRlckNs
aWVudFF0OjpkaXNwYXRjaENyZWF0ZVBhZ2UoKQogdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0Ojpk
aXNwYXRjaERlY2lkZVBvbGljeUZvck1JTUVUeXBlKEZyYW1lUG9saWN5RnVuY3Rpb24gZnVuY3Rp
b24sIGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYpCiB7CiAgICAgLy8gd2UgbmVlZCB0byBjYWxsIGRpcmVjdGx5IGhlcmUKLSAg
ICBpZiAoY2FuU2hvd01JTUVUeXBlKE1JTUVUeXBlKSkKKyAgICBpZiAoV2ViQ29yZTo6c2hvdWxk
VHJlYXRBc0F0dGFjaG1lbnQobV9mcmFtZS0+bG9hZGVyKCktPmFjdGl2ZURvY3VtZW50TG9hZGVy
KCktPnJlc3BvbnNlKCkpKQorICAgICAgICBjYWxsUG9saWN5RnVuY3Rpb24oZnVuY3Rpb24sIFBv
bGljeURvd25sb2FkKTsgICAgCisgICAgZWxzZSBpZiAoY2FuU2hvd01JTUVUeXBlKE1JTUVUeXBl
KSkKICAgICAgICAgY2FsbFBvbGljeUZ1bmN0aW9uKGZ1bmN0aW9uLCBQb2xpY3lVc2UpOwogICAg
IGVsc2UKICAgICAgICAgY2FsbFBvbGljeUZ1bmN0aW9uKGZ1bmN0aW9uLCBQb2xpY3lEb3dubG9h
ZCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>