<?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>36882</bug_id>
          
          <creation_ts>2010-03-31 06:29:25 -0700</creation_ts>
          <short_desc>[chromium] move createApplicationCacheHost from WebKitClient to WebFrameClient</short_desc>
          <delta_ts>2010-04-07 00:39:42 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter>jochen</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fishd</cc>
    
    <cc>michaeln</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>206474</commentid>
    <comment_count>0</comment_count>
    <who name="">jochen</who>
    <bug_when>2010-03-31 06:29:25 -0700</bug_when>
    <thetext>[chromium] traverse from WebApplicationCacheHost to its associated WebDataSource and ultimately to its containing WebFrame</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206475</commentid>
    <comment_count>1</comment_count>
      <attachid>52155</attachid>
    <who name="">jochen</who>
    <bug_when>2010-03-31 06:30:24 -0700</bug_when>
    <thetext>Created attachment 52155
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206476</commentid>
    <comment_count>2</comment_count>
    <who name="">jochen</who>
    <bug_when>2010-03-31 06:38:21 -0700</bug_when>
    <thetext>chromium side is in http://codereview.chromium.org/1600002/show</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206508</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-03-31 07:58:00 -0700</bug_when>
    <thetext>Why is it preferrable to pass WebDataSource instead of WebFrame to createApplicationCacheHost?  Also, can we instead introduce a method on WebFrameClient as we did for scripts, images, plugins and databases to check if appcaches are allowed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206541</commentid>
    <comment_count>4</comment_count>
    <who name="">jochen</who>
    <bug_when>2010-03-31 09:14:13 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Why is it preferrable to pass WebDataSource instead of WebFrame to
&gt; createApplicationCacheHost?  Also, can we instead introduce a method on
&gt; WebFrameClient as we did for scripts, images, plugins and databases to check if
&gt; appcaches are allowed?

could point actually. Michael, is there a method that I could use for that? ApplicationCacheHost::isApplicationCacheEnabled looks like it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206639</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-03-31 12:25:36 -0700</bug_when>
    <thetext>As mentioned in an earlier email, here&apos;s an overview of what&apos;s going on...

I&apos;ve been noodling with how to get the icon to show up when an appcache is blocked by the policy. Respecting the policy and putting up prompts as needed is already done (see AppCachePolicy stuff).

Please refer to this work in progress stuff...
http://codereview.chromium.org/1599002/show
http://codereview.chromium.org/1580004/show

There are two parts to this.

* Be able to identify the &apos;frame&apos; associated with an appcache from the chrome side of things.

* Notify the appcache frontend when something was blocked in the backend. When the msg gets to the frontend, look up the render view and tell it about the blockage.

-------------

&gt; Why is it preferrable to pass WebDataSource instead of WebFrame to
&gt; createApplicationCacheHost?

Frame-&gt;DocumentLoader-&gt;AppCacheHost is what happens in webcore.

WebFrame-&gt;WebDataSource-&gt;WebAppCacheHost is what i&apos;m proposing we do in the webkit API. (Actually we have API that lets you traverse in the direction that the arrows show, this is adding stuff to allow traversal in the opposite direction as well).

(note: DocumentLoader is represented in our WebKit API as WebDataSource)

I don&apos;t see any reason to deviate from what webcore is doing under the covers. Also honestly, I&apos;m not sure if we know which frame we&apos;re destined for at AppCacheHost ctor time (an example of the type of trouble that deviating from what happens under the covers can get you into).

&gt; Also, can we instead introduce a method on
&gt; WebFrameClient as we did for scripts, images, plugins and databases to check if
&gt; appcaches are allowed?

You could but in Chrome it wouldn&apos;t be used. We test the policy in the backend far removed from the renderer, only after we&apos;re discovered we either have something to load (policy.CanLoadAppCache), or we&apos;re trying to create a new appcache (policy.CanCreateAppCache). The callsites for those methods are in place in the chrome code base for all to see. Imagine arranging to call back to the renderer and have it call back out thru some WebFrameClient method which calls back to the browser (i&apos;m getting dizzy already).

It may make sense to have an API like that and hook webcore&apos;s impl up to it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206722</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-03-31 14:34:08 -0700</bug_when>
    <thetext>Darin had a good suggestion for how to establish the frame/datasource/appcache relationships. Instead of adding a WebFrame param to the factory method, move the createApplicationCacheHost() method from WebKitClient to WebFrameClient. That interface has a handful of similar factory methods that take a WebFrame param.

So we&apos;d have...

WebFrameClient::createApplicationCacheHost(
  WebFrame*, WebDataSource*, WebApplicationCacheHostClient*);

... at the time of WebApplicationCacheHost construction (its done lazily in maybeLoadMainResource), we&apos;re guaranteed to know what our WebCore::Frame is.


And we wouldn&apos;t need the WebDataSource.frame() method which Darin wants to avoid introducing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206730</commentid>
    <comment_count>7</comment_count>
    <who name="">jochen</who>
    <bug_when>2010-03-31 14:42:31 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Darin had a good suggestion for how to establish the frame/datasource/appcache
&gt; relationships. Instead of adding a WebFrame param to the factory method, move
&gt; the createApplicationCacheHost() method from WebKitClient to WebFrameClient.
&gt; That interface has a handful of similar factory methods that take a WebFrame
&gt; param.
&gt; 
&gt; So we&apos;d have...
&gt; 
&gt; WebFrameClient::createApplicationCacheHost(
&gt;   WebFrame*, WebDataSource*, WebApplicationCacheHostClient*);
&gt; 
&gt; ... at the time of WebApplicationCacheHost construction (its done lazily in
&gt; maybeLoadMainResource), we&apos;re guaranteed to know what our WebCore::Frame is.
&gt; 
&gt; 
&gt; And we wouldn&apos;t need the WebDataSource.frame() method which Darin wants to
&gt; avoid introducing.

what do we need the datasource for then? All I need to send the notification around is the render_view_id of the frame, e.g.

RenderView::FromWebView(frame-&gt;view())-&gt;routing_id(). This information is extracted on construction of the WebApplicationCacheHost (see http://codereview.chromium.org/1600002 )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206743</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-03-31 14:56:26 -0700</bug_when>
    <thetext>&gt; what do we need the datasource for then? All I need to send the notification
&gt; around is the render_view_id of the frame, e.g.

You&apos;re right, we don&apos;t need that given the frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209045</commentid>
    <comment_count>9</comment_count>
      <attachid>52637</attachid>
    <who name="">jochen</who>
    <bug_when>2010-04-06 07:49:15 -0700</bug_when>
    <thetext>Created attachment 52637
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209047</commentid>
    <comment_count>10</comment_count>
    <who name="">jochen</who>
    <bug_when>2010-04-06 07:52:32 -0700</bug_when>
    <thetext>Please also review http://codereview.chromium.org/1627003 which prepares chromium for this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209050</commentid>
    <comment_count>11</comment_count>
      <attachid>52637</attachid>
    <who name="">jochen</who>
    <bug_when>2010-04-06 08:29:24 -0700</bug_when>
    <thetext>Comment on attachment 52637
Patch

I&apos;ve cancelled commit-queue because the chromium side needs to be landed first. please review anyway</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209137</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-04-06 11:38:18 -0700</bug_when>
    <thetext>4446     ApplicationCacheHostInternal(ApplicationCacheHost* host)
4547         : m_innerHost(host)
4648     {
47          m_outerHost.set(WebKit::webKitClient()-&gt;createApplicationCacheHost(this));
 49       WebKit::WebFrameImpl* webFrame = WebKit::WebFrameImpl::fromFrame(host-&gt;m_documentLoader-&gt;frame());
 50         m_outerHost.set(webFrame-&gt;client()-&gt;createApplicationCacheHost(webFrame, this));
4851     }

Wunderbar!

Indents are off, webkit uses 4 space indentation. Maybe ASSERT(webFrame)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209451</commentid>
    <comment_count>13</comment_count>
      <attachid>52637</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-04-06 22:28:41 -0700</bug_when>
    <thetext>Comment on attachment 52637
Patch

R- based on michaeln&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209499</commentid>
    <comment_count>14</comment_count>
      <attachid>52709</attachid>
    <who name="">jochen</who>
    <bug_when>2010-04-07 00:14:40 -0700</bug_when>
    <thetext>Created attachment 52709
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209504</commentid>
    <comment_count>15</comment_count>
      <attachid>52710</attachid>
    <who name="">jochen</who>
    <bug_when>2010-04-07 00:25:31 -0700</bug_when>
    <thetext>Created attachment 52710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209506</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-04-07 00:28:12 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Created an attachment (id=52710) [details]
&gt; Patch

LGTM (fwiw)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209512</commentid>
    <comment_count>17</comment_count>
      <attachid>52710</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-07 00:39:36 -0700</bug_when>
    <thetext>Comment on attachment 52710
Patch

Clearing flags on attachment: 52710

Committed r57197: &lt;http://trac.webkit.org/changeset/57197&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209513</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-07 00:39:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52155</attachid>
            <date>2010-03-31 06:30:24 -0700</date>
            <delta_ts>2010-04-06 07:49:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36882-20100331153022.patch</filename>
            <type>text/plain</type>
            <size>6563</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDI0OGUwNTkuLjRmNzJjNTMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI1IEBACisyMDEwLTAzLTMxICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5n
ZXMgdG8gYmUgYWJsZSB0byB0cmF2ZXJzZSBmcm9tIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0IHRv
IGl0cworICAgICAgICBhc3NvY2lhdGVkIFdlYkRhdGFTb3VyY2UgYW5kIHVsdGltYXRlbHkgdG8g
aXRzIGNvbnRhaW5pbmcgV2ViRnJhbWUuCisgICAgICAgIFRoZXJlIGFscmVhZHkgaXMgYSB3YXkg
dG8gdHJhdmVyc2UgZnJvbSBGcmFtZS0+RGF0YVNvdXJjZS0+QXBwQ2FjaGUsCisgICAgICAgIHRo
aXMgcGF0Y2ggbWFrZXMgaXQgcG9zc2libGUgdG8gZ3JvcGUgdGhlIG9iamVjdCBtb2RlbCBpbiB0
aGUgb3RoZXIKKyAgICAgICAgZGlyZWN0aW9uLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjg4MgorCisgICAgICAgICogcHVibGljL1dlYkRhdGFT
b3VyY2UuaDoKKyAgICAgICAgKiBwdWJsaWMvV2ViS2l0Q2xpZW50Lmg6CisgICAgICAgIChXZWJL
aXQ6OldlYktpdENsaWVudDo6Y3JlYXRlQXBwbGljYXRpb25DYWNoZUhvc3QpOgorICAgICAgICAq
IHNyYy9BcHBsaWNhdGlvbkNhY2hlSG9zdEludGVybmFsLmg6CisgICAgICAgIChXZWJDb3JlOjpB
cHBsaWNhdGlvbkNhY2hlSG9zdEludGVybmFsOjpBcHBsaWNhdGlvbkNhY2hlSG9zdEludGVybmFs
KToKKyAgICAgICAgKiBzcmMvV2ViRGF0YVNvdXJjZUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJEYXRhU291cmNlSW1wbDo6ZnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJEYXRhU291
cmNlSW1wbDo6YXBwbGljYXRpb25DYWNoZUhvc3QpOgorICAgICAgICAqIHNyYy9XZWJEYXRhU291
cmNlSW1wbC5oOgorCiAyMDEwLTAzLTMwICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdo
QGFwcGxlLmNvbT4KIAogICAgICAgICBSdWJiZXIgc3RhbXBlZCBieSBTYW0gV2VpbmlnLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEYXRhU291cmNlLmggYi9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkRhdGFTb3VyY2UuaAppbmRleCAxYWE3YTk4Li5jYTNjZjhmIDEw
MDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRhdGFTb3VyY2UuaAorKysgYi9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRhdGFTb3VyY2UuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzcsNiArMzcsNyBAQAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0OworY2xhc3Mg
V2ViRnJhbWU7CiBjbGFzcyBXZWJTdHJpbmc7CiBjbGFzcyBXZWJVUkw7CiBjbGFzcyBXZWJVUkxS
ZXF1ZXN0OwpAQCAtOTIsOCArOTMsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgRXh0cmFEYXRh
KiBleHRyYURhdGEoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEV4dHJhRGF0YShF
eHRyYURhdGEqKSA9IDA7CiAKKyAgICAvLyBUaGUgZnJhbWUgYXNzb2NpYXRlZCB3aXRoIHRoaXMg
ZGF0YXNvdXJjZS4KKyAgICB2aXJ0dWFsIFdlYkZyYW1lKiBmcmFtZSgpIGNvbnN0ID0gMDsKKwog
ICAgIC8vIFRoZSBhcHBsaWNhdGlvbiBjYWNoZSBob3N0IGFzc29jaWF0ZWQgd2l0aCB0aGlzIGRh
dGFzb3VyY2UuCi0gICAgdmlydHVhbCBXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdCogYXBwbGljYXRp
b25DYWNoZUhvc3QoKSA9IDA7CisgICAgdmlydHVhbCBXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdCog
YXBwbGljYXRpb25DYWNoZUhvc3QoKSBjb25zdCA9IDA7CiAKIHByb3RlY3RlZDoKICAgICB+V2Vi
RGF0YVNvdXJjZSgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJL
aXRDbGllbnQuaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0Q2xpZW50LmgKaW5kZXgg
YjJhYWYyZS4uNWIwNjVkNiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJL
aXRDbGllbnQuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdENsaWVudC5oCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00
OSw2ICs0OSw3IEBAIGNsYXNzIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0OwogY2xhc3MgV2ViQXBw
bGljYXRpb25DYWNoZUhvc3RDbGllbnQ7CiBjbGFzcyBXZWJDbGlwYm9hcmQ7CiBjbGFzcyBXZWJD
b29raWVKYXI7CitjbGFzcyBXZWJEYXRhU291cmNlOwogY2xhc3MgV2ViR3JhcGhpY3NDb250ZXh0
M0Q7CiBjbGFzcyBXZWJJbmRleGVkRGF0YWJhc2U7CiBjbGFzcyBXZWJNZXNzYWdlUG9ydENoYW5u
ZWw7CkBAIC04Miw4ICs4Myw3IEBAIHB1YmxpYzoKICAgICAvLyBBcHBsaWNhdGlvbiBDYWNoZSAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAgICAgLy8gTWF5
IHJldHVybiBudWxsIGlmIHRoZSBwcm9jZXNzIHR5cGUgZG9lc24ndCBpbnZvbHZlIGFwcGNhY2hp
bmcuCi0gICAgdmlydHVhbCBXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdCogY3JlYXRlQXBwbGljYXRp
b25DYWNoZUhvc3QoV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGllbnQqKSB7IHJldHVybiAwOyB9
Ci0KKyAgICB2aXJ0dWFsIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBjcmVhdGVBcHBsaWNhdGlv
bkNhY2hlSG9zdChXZWJEYXRhU291cmNlKiwgV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGllbnQq
KSB7IHJldHVybiAwOyB9CiAKICAgICAvLyBET00gU3RvcmFnZSAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hy
b21pdW0vc3JjL0FwcGxpY2F0aW9uQ2FjaGVIb3N0SW50ZXJuYWwuaCBiL1dlYktpdC9jaHJvbWl1
bS9zcmMvQXBwbGljYXRpb25DYWNoZUhvc3RJbnRlcm5hbC5oCmluZGV4IDNlNTJjMWIuLmQ1Njk4
MDcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvQXBwbGljYXRpb25DYWNoZUhvc3RJ
bnRlcm5hbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQXBwbGljYXRpb25DYWNoZUhvc3RJ
bnRlcm5hbC5oCkBAIC0zNCw2ICszNCw3IEBACiAjaWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJ
Q0FUSU9OUykKIAogI2luY2x1ZGUgIldlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0Q2xpZW50LmgiCisj
aW5jbHVkZSAiV2ViRGF0YVNvdXJjZUltcGwuaCIKICNpbmNsdWRlICJXZWJLaXQuaCIKICNpbmNs
dWRlICJXZWJLaXRDbGllbnQuaCIKIApAQCAtNDQsNyArNDUsNyBAQCBwdWJsaWM6CiAgICAgQXBw
bGljYXRpb25DYWNoZUhvc3RJbnRlcm5hbChBcHBsaWNhdGlvbkNhY2hlSG9zdCogaG9zdCkKICAg
ICAgICAgOiBtX2lubmVySG9zdChob3N0KQogICAgIHsKLSAgICAgICAgbV9vdXRlckhvc3Quc2V0
KFdlYktpdDo6d2ViS2l0Q2xpZW50KCktPmNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KHRoaXMp
KTsKKyAgICAgICAgbV9vdXRlckhvc3Quc2V0KFdlYktpdDo6d2ViS2l0Q2xpZW50KCktPmNyZWF0
ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KFdlYktpdDo6V2ViRGF0YVNvdXJjZUltcGw6OmZyb21Eb2N1
bWVudExvYWRlcihob3N0LT5tX2RvY3VtZW50TG9hZGVyKSwgdGhpcykpOwogICAgIH0KIAogICAg
IHZpcnR1YWwgdm9pZCBub3RpZnlFdmVudExpc3RlbmVyKFdlYktpdDo6V2ViQXBwbGljYXRpb25D
YWNoZUhvc3Q6OkV2ZW50SUQgZXZlbnRJRCkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRGF0YVNvdXJjZUltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEYXRhU291
cmNlSW1wbC5jcHAKaW5kZXggNWEzMTVjZi4uNTFiYjljOSAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJEYXRhU291cmNlSW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJEYXRhU291cmNlSW1wbC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJXZWJEYXRh
U291cmNlSW1wbC5oIgogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3RJbnRlcm5hbC5o
IgorI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgogI2luY2x1ZGUgIldlYlVSTC5oIgogI2luY2x1
ZGUgIldlYlVSTEVycm9yLmgiCiAjaW5jbHVkZSAiV2ViVmVjdG9yLmgiCkBAIC0xMDksNyArMTEw
LDEzIEBAIHZvaWQgV2ViRGF0YVNvdXJjZUltcGw6OnNldEV4dHJhRGF0YShFeHRyYURhdGEqIGV4
dHJhRGF0YSkKICAgICBtX2V4dHJhRGF0YS5zZXQoZXh0cmFEYXRhKTsKIH0KIAotV2ViQXBwbGlj
YXRpb25DYWNoZUhvc3QqIFdlYkRhdGFTb3VyY2VJbXBsOjphcHBsaWNhdGlvbkNhY2hlSG9zdCgp
IHsKK1dlYkZyYW1lKiBXZWJEYXRhU291cmNlSW1wbDo6ZnJhbWUoKSBjb25zdAoreworICAgIHJl
dHVybiBXZWJGcmFtZUltcGw6OmZyb21GcmFtZShEb2N1bWVudExvYWRlcjo6ZnJhbWUoKSk7Cit9
CisKK1dlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBXZWJEYXRhU291cmNlSW1wbDo6YXBwbGljYXRp
b25DYWNoZUhvc3QoKSBjb25zdAorewogI2lmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlMpCiAgICAgcmV0dXJuIEFwcGxpY2F0aW9uQ2FjaGVIb3N0SW50ZXJuYWw6OnRvV2ViQXBwbGlj
YXRpb25DYWNoZUhvc3QoRG9jdW1lbnRMb2FkZXI6OmFwcGxpY2F0aW9uQ2FjaGVIb3N0KCkpOwog
I2Vsc2UKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGF0YVNvdXJjZUltcGwu
aCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGF0YVNvdXJjZUltcGwuaAppbmRleCBmODY4ZTk1
Li4wODk4NmI5IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRhdGFTb3VyY2VJ
bXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEYXRhU291cmNlSW1wbC5oCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC03Miw3
ICs3Miw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGRvdWJsZSB0cmlnZ2VyaW5nRXZlbnRUaW1l
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBFeHRyYURhdGEqIGV4dHJhRGF0YSgpIGNvbnN0OwogICAg
IHZpcnR1YWwgdm9pZCBzZXRFeHRyYURhdGEoRXh0cmFEYXRhKik7Ci0gICAgdmlydHVhbCBXZWJB
cHBsaWNhdGlvbkNhY2hlSG9zdCogYXBwbGljYXRpb25DYWNoZUhvc3QoKTsKKyAgICB2aXJ0dWFs
IFdlYkZyYW1lKiBmcmFtZSgpIGNvbnN0OworICAgIHZpcnR1YWwgV2ViQXBwbGljYXRpb25DYWNo
ZUhvc3QqIGFwcGxpY2F0aW9uQ2FjaGVIb3N0KCkgY29uc3Q7CiAKICAgICBzdGF0aWMgV2ViTmF2
aWdhdGlvblR5cGUgdG9XZWJOYXZpZ2F0aW9uVHlwZShXZWJDb3JlOjpOYXZpZ2F0aW9uVHlwZSB0
eXBlKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52637</attachid>
            <date>2010-04-06 07:49:15 -0700</date>
            <delta_ts>2010-04-07 00:14:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36882-20100406164913.patch</filename>
            <type>text/plain</type>
            <size>3819</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDAzNWViNWEuLjk2MTFmODggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE4IEBACisyMDEwLTA0LTA2ICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUg
Y3JlYXRlQXBwbGljYXRpb25DYWNoZUhvc3QgZnJvbSBXZWJLaXRDbGllbnQgdG8gV2ViRnJhbWVD
bGllbnQgc28KKyAgICAgICAgdGhlIEFwcGxpY2F0aW9uQ2FjaGVIb3N0IGhhcyBhY2Nlc3MgdG8g
aXRzIGZyYW1lLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zNjg4MgorCisgICAgICAgICogcHVibGljL1dlYkZyYW1lQ2xpZW50Lmg6CisgICAgICAg
IChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdCk6Cisg
ICAgICAgICogcHVibGljL1dlYktpdENsaWVudC5oOgorICAgICAgICAqIHNyYy9BcHBsaWNhdGlv
bkNhY2hlSG9zdEludGVybmFsLmg6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hl
SG9zdEludGVybmFsOjpBcHBsaWNhdGlvbkNhY2hlSG9zdEludGVybmFsKToKKwogMjAxMC0wNC0w
NiAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkZyYW1lQ2xpZW50LmggYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xp
ZW50LmgKaW5kZXggMDM2MDA4Ny4uMzE1Y2Y4NyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
RnJhbWVDbGllbnQuaApAQCAtMzgsNiArMzgsOCBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAor
Y2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZUhvc3Q7CitjbGFzcyBXZWJBcHBsaWNhdGlvbkNhY2hl
SG9zdENsaWVudDsKIGNsYXNzIFdlYkNvb2tpZUphcjsKIGNsYXNzIFdlYkRhdGFTb3VyY2U7CiBj
bGFzcyBXZWJGb3JtRWxlbWVudDsKQEAgLTc1LDYgKzc3LDkgQEAgcHVibGljOgogICAgIC8vIE1h
eSByZXR1cm4gbnVsbC4KICAgICB2aXJ0dWFsIFdlYk1lZGlhUGxheWVyKiBjcmVhdGVNZWRpYVBs
YXllcihXZWJGcmFtZSosIFdlYk1lZGlhUGxheWVyQ2xpZW50KikgeyByZXR1cm4gMDsgfQogCisg
ICAgLy8gTWF5IHJldHVybiBudWxsLgorICAgIHZpcnR1YWwgV2ViQXBwbGljYXRpb25DYWNoZUhv
c3QqIGNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KFdlYkZyYW1lKiwgV2ViQXBwbGljYXRpb25D
YWNoZUhvc3RDbGllbnQqKSB7IHJldHVybiAwOyB9CisKICAgICAKICAgICAvLyBTZXJ2aWNlcyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRDbGllbnQuaCBi
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0Q2xpZW50LmgKaW5kZXggYjJhYWYyZS4uOTI3
MDBkYiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRDbGllbnQuaAor
KysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdENsaWVudC5oCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00NSw4ICs0NSw2IEBA
IHR5cGVkZWYgdm9pZCAqSEFORExFOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgV2Vi
QXBwbGljYXRpb25DYWNoZUhvc3Q7Ci1jbGFzcyBXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdENsaWVu
dDsKIGNsYXNzIFdlYkNsaXBib2FyZDsKIGNsYXNzIFdlYkNvb2tpZUphcjsKIGNsYXNzIFdlYkdy
YXBoaWNzQ29udGV4dDNEOwpAQCAtNzksMTIgKzc3LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
V2ViQ29va2llSmFyKiBjb29raWVKYXIoKSB7IHJldHVybiAwOyB9CiAKIAotICAgIC8vIEFwcGxp
Y2F0aW9uIENhY2hlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0KLSAgICAvLyBNYXkgcmV0dXJuIG51bGwgaWYgdGhlIHByb2Nlc3MgdHlwZSBkb2Vzbid0IGlu
dm9sdmUgYXBwY2FjaGluZy4KLSAgICB2aXJ0dWFsIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBj
cmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdChXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdENsaWVudCop
IHsgcmV0dXJuIDA7IH0KLQotCiAgICAgLy8gRE9NIFN0b3JhZ2UgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIC8vIFJldHVybiBhIExvY2Fs
U3RvcmFnZSBuYW1lc3BhY2UgdGhhdCBjb3JyZXNwb25kcyB0byB0aGUgZm9sbG93aW5nIHBhdGgu
CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0FwcGxpY2F0aW9uQ2FjaGVIb3N0SW50
ZXJuYWwuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQXBwbGljYXRpb25DYWNoZUhvc3RJbnRlcm5h
bC5oCmluZGV4IDNlNTJjMWIuLmI3M2VlYTMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvQXBwbGljYXRpb25DYWNoZUhvc3RJbnRlcm5hbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvQXBwbGljYXRpb25DYWNoZUhvc3RJbnRlcm5hbC5oCkBAIC0zMyw5ICszMywxMSBAQAogCiAj
aWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKIAorI2luY2x1ZGUgIkRvY3VtZW50
TG9hZGVyLmgiCiAjaW5jbHVkZSAiV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGllbnQuaCIKKyNp
bmNsdWRlICJXZWJGcmFtZUNsaWVudC5oIgorI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgogI2lu
Y2x1ZGUgIldlYktpdC5oIgotI2luY2x1ZGUgIldlYktpdENsaWVudC5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTQ0LDcgKzQ2LDggQEAgcHVibGljOgogICAgIEFwcGxpY2F0aW9uQ2Fj
aGVIb3N0SW50ZXJuYWwoQXBwbGljYXRpb25DYWNoZUhvc3QqIGhvc3QpCiAgICAgICAgIDogbV9p
bm5lckhvc3QoaG9zdCkKICAgICB7Ci0gICAgICAgIG1fb3V0ZXJIb3N0LnNldChXZWJLaXQ6Ondl
YktpdENsaWVudCgpLT5jcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdCh0aGlzKSk7CisgICAgICBX
ZWJLaXQ6OldlYkZyYW1lSW1wbCogd2ViRnJhbWUgPSBXZWJLaXQ6OldlYkZyYW1lSW1wbDo6ZnJv
bUZyYW1lKGhvc3QtPm1fZG9jdW1lbnRMb2FkZXItPmZyYW1lKCkpOworICAgICAgICBtX291dGVy
SG9zdC5zZXQod2ViRnJhbWUtPmNsaWVudCgpLT5jcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdCh3
ZWJGcmFtZSwgdGhpcykpOwogICAgIH0KIAogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlFdmVudExp
c3RlbmVyKFdlYktpdDo6V2ViQXBwbGljYXRpb25DYWNoZUhvc3Q6OkV2ZW50SUQgZXZlbnRJRCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52709</attachid>
            <date>2010-04-07 00:14:40 -0700</date>
            <delta_ts>2010-04-07 00:25:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36882-20100407091438.patch</filename>
            <type>text/plain</type>
            <size>3848</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDAzNWViNWEuLjk2MTFmODggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE4IEBACisyMDEwLTA0LTA2ICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUg
Y3JlYXRlQXBwbGljYXRpb25DYWNoZUhvc3QgZnJvbSBXZWJLaXRDbGllbnQgdG8gV2ViRnJhbWVD
bGllbnQgc28KKyAgICAgICAgdGhlIEFwcGxpY2F0aW9uQ2FjaGVIb3N0IGhhcyBhY2Nlc3MgdG8g
aXRzIGZyYW1lLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zNjg4MgorCisgICAgICAgICogcHVibGljL1dlYkZyYW1lQ2xpZW50Lmg6CisgICAgICAg
IChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdCk6Cisg
ICAgICAgICogcHVibGljL1dlYktpdENsaWVudC5oOgorICAgICAgICAqIHNyYy9BcHBsaWNhdGlv
bkNhY2hlSG9zdEludGVybmFsLmg6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hl
SG9zdEludGVybmFsOjpBcHBsaWNhdGlvbkNhY2hlSG9zdEludGVybmFsKToKKwogMjAxMC0wNC0w
NiAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkZyYW1lQ2xpZW50LmggYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xp
ZW50LmgKaW5kZXggMDM2MDA4Ny4uMzE1Y2Y4NyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
RnJhbWVDbGllbnQuaApAQCAtMzgsNiArMzgsOCBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAor
Y2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZUhvc3Q7CitjbGFzcyBXZWJBcHBsaWNhdGlvbkNhY2hl
SG9zdENsaWVudDsKIGNsYXNzIFdlYkNvb2tpZUphcjsKIGNsYXNzIFdlYkRhdGFTb3VyY2U7CiBj
bGFzcyBXZWJGb3JtRWxlbWVudDsKQEAgLTc1LDYgKzc3LDkgQEAgcHVibGljOgogICAgIC8vIE1h
eSByZXR1cm4gbnVsbC4KICAgICB2aXJ0dWFsIFdlYk1lZGlhUGxheWVyKiBjcmVhdGVNZWRpYVBs
YXllcihXZWJGcmFtZSosIFdlYk1lZGlhUGxheWVyQ2xpZW50KikgeyByZXR1cm4gMDsgfQogCisg
ICAgLy8gTWF5IHJldHVybiBudWxsLgorICAgIHZpcnR1YWwgV2ViQXBwbGljYXRpb25DYWNoZUhv
c3QqIGNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KFdlYkZyYW1lKiwgV2ViQXBwbGljYXRpb25D
YWNoZUhvc3RDbGllbnQqKSB7IHJldHVybiAwOyB9CisKICAgICAKICAgICAvLyBTZXJ2aWNlcyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRDbGllbnQuaCBi
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0Q2xpZW50LmgKaW5kZXggYjJhYWYyZS4uOTI3
MDBkYiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRDbGllbnQuaAor
KysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdENsaWVudC5oCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00NSw4ICs0NSw2IEBA
IHR5cGVkZWYgdm9pZCAqSEFORExFOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgV2Vi
QXBwbGljYXRpb25DYWNoZUhvc3Q7Ci1jbGFzcyBXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdENsaWVu
dDsKIGNsYXNzIFdlYkNsaXBib2FyZDsKIGNsYXNzIFdlYkNvb2tpZUphcjsKIGNsYXNzIFdlYkdy
YXBoaWNzQ29udGV4dDNEOwpAQCAtNzksMTIgKzc3LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
V2ViQ29va2llSmFyKiBjb29raWVKYXIoKSB7IHJldHVybiAwOyB9CiAKIAotICAgIC8vIEFwcGxp
Y2F0aW9uIENhY2hlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0KLSAgICAvLyBNYXkgcmV0dXJuIG51bGwgaWYgdGhlIHByb2Nlc3MgdHlwZSBkb2Vzbid0IGlu
dm9sdmUgYXBwY2FjaGluZy4KLSAgICB2aXJ0dWFsIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBj
cmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdChXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdENsaWVudCop
IHsgcmV0dXJuIDA7IH0KLQotCiAgICAgLy8gRE9NIFN0b3JhZ2UgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIC8vIFJldHVybiBhIExvY2Fs
U3RvcmFnZSBuYW1lc3BhY2UgdGhhdCBjb3JyZXNwb25kcyB0byB0aGUgZm9sbG93aW5nIHBhdGgu
CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0FwcGxpY2F0aW9uQ2FjaGVIb3N0SW50
ZXJuYWwuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQXBwbGljYXRpb25DYWNoZUhvc3RJbnRlcm5h
bC5oCmluZGV4IDNlNTJjMWIuLjk0YmU3YmUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvQXBwbGljYXRpb25DYWNoZUhvc3RJbnRlcm5hbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvQXBwbGljYXRpb25DYWNoZUhvc3RJbnRlcm5hbC5oCkBAIC0zMyw5ICszMywxMSBAQAogCiAj
aWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKIAorI2luY2x1ZGUgIkRvY3VtZW50
TG9hZGVyLmgiCiAjaW5jbHVkZSAiV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGllbnQuaCIKKyNp
bmNsdWRlICJXZWJGcmFtZUNsaWVudC5oIgorI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgogI2lu
Y2x1ZGUgIldlYktpdC5oIgotI2luY2x1ZGUgIldlYktpdENsaWVudC5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTQ0LDcgKzQ2LDkgQEAgcHVibGljOgogICAgIEFwcGxpY2F0aW9uQ2Fj
aGVIb3N0SW50ZXJuYWwoQXBwbGljYXRpb25DYWNoZUhvc3QqIGhvc3QpCiAgICAgICAgIDogbV9p
bm5lckhvc3QoaG9zdCkKICAgICB7Ci0gICAgICAgIG1fb3V0ZXJIb3N0LnNldChXZWJLaXQ6Ondl
YktpdENsaWVudCgpLT5jcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdCh0aGlzKSk7CisgICAgICAg
IFdlYktpdDo6V2ViRnJhbWVJbXBsKiB3ZWJGcmFtZSA9IFdlYktpdDo6V2ViRnJhbWVJbXBsOjpm
cm9tRnJhbWUoaG9zdC0+bV9kb2N1bWVudExvYWRlci0+ZnJhbWUoKSk7CisgICAgICAgIEFTU0VS
VCh3ZWJGcmFtZSk7CisgICAgICAgIG1fb3V0ZXJIb3N0LnNldCh3ZWJGcmFtZS0+Y2xpZW50KCkt
PmNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KHdlYkZyYW1lLCB0aGlzKSk7CiAgICAgfQogCiAg
ICAgdmlydHVhbCB2b2lkIG5vdGlmeUV2ZW50TGlzdGVuZXIoV2ViS2l0OjpXZWJBcHBsaWNhdGlv
bkNhY2hlSG9zdDo6RXZlbnRJRCBldmVudElEKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52710</attachid>
            <date>2010-04-07 00:25:31 -0700</date>
            <delta_ts>2010-04-07 00:39:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36882-20100407092529.patch</filename>
            <type>text/plain</type>
            <size>2701</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDAzNWViNWEuLjQ0ODkyYjIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDEwLTA0LTA2ICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBj
cmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdCB0byBXZWJGcmFtZUNsaWVudCBzbworICAgICAgICB0
aGUgQXBwbGljYXRpb25DYWNoZUhvc3QgaGFzIGFjY2VzcyB0byBpdHMgZnJhbWUuCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2ODgyCisKKyAgICAg
ICAgKiBwdWJsaWMvV2ViRnJhbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVD
bGllbnQ6OmNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KToKKyAgICAgICAgKiBzcmMvQXBwbGlj
YXRpb25DYWNoZUhvc3RJbnRlcm5hbC5oOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25D
YWNoZUhvc3RJbnRlcm5hbDo6QXBwbGljYXRpb25DYWNoZUhvc3RJbnRlcm5hbCk6CisKIDIwMTAt
MDQtMDYgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFt
ZUNsaWVudC5oCmluZGV4IDAzNjAwODcuLjMxNWNmODcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkZyYW1lQ2xpZW50LmgKQEAgLTM4LDYgKzM4LDggQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKK2NsYXNzIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0OworY2xhc3MgV2ViQXBwbGljYXRpb25D
YWNoZUhvc3RDbGllbnQ7CiBjbGFzcyBXZWJDb29raWVKYXI7CiBjbGFzcyBXZWJEYXRhU291cmNl
OwogY2xhc3MgV2ViRm9ybUVsZW1lbnQ7CkBAIC03NSw2ICs3Nyw5IEBAIHB1YmxpYzoKICAgICAv
LyBNYXkgcmV0dXJuIG51bGwuCiAgICAgdmlydHVhbCBXZWJNZWRpYVBsYXllciogY3JlYXRlTWVk
aWFQbGF5ZXIoV2ViRnJhbWUqLCBXZWJNZWRpYVBsYXllckNsaWVudCopIHsgcmV0dXJuIDA7IH0K
IAorICAgIC8vIE1heSByZXR1cm4gbnVsbC4KKyAgICB2aXJ0dWFsIFdlYkFwcGxpY2F0aW9uQ2Fj
aGVIb3N0KiBjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdChXZWJGcmFtZSosIFdlYkFwcGxpY2F0
aW9uQ2FjaGVIb3N0Q2xpZW50KikgeyByZXR1cm4gMDsgfQorCiAgICAgCiAgICAgLy8gU2Vydmlj
ZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvQXBwbGljYXRpb25DYWNo
ZUhvc3RJbnRlcm5hbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9BcHBsaWNhdGlvbkNhY2hlSG9z
dEludGVybmFsLmgKaW5kZXggM2U1MmMxYi4uZDMxMjBkYyAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL3NyYy9BcHBsaWNhdGlvbkNhY2hlSG9zdEludGVybmFsLmgKKysrIGIvV2ViS2l0L2No
cm9taXVtL3NyYy9BcHBsaWNhdGlvbkNhY2hlSG9zdEludGVybmFsLmgKQEAgLTMzLDcgKzMzLDEw
IEBACiAKICNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQogCisjaW5jbHVkZSAi
RG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdENsaWVu
dC5oIgorI2luY2x1ZGUgIldlYkZyYW1lQ2xpZW50LmgiCisjaW5jbHVkZSAiV2ViRnJhbWVJbXBs
LmgiCiAjaW5jbHVkZSAiV2ViS2l0LmgiCiAjaW5jbHVkZSAiV2ViS2l0Q2xpZW50LmgiCiAKQEAg
LTQ0LDcgKzQ3LDExIEBAIHB1YmxpYzoKICAgICBBcHBsaWNhdGlvbkNhY2hlSG9zdEludGVybmFs
KEFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBob3N0KQogICAgICAgICA6IG1faW5uZXJIb3N0KGhvc3Qp
CiAgICAgewotICAgICAgICBtX291dGVySG9zdC5zZXQoV2ViS2l0Ojp3ZWJLaXRDbGllbnQoKS0+
Y3JlYXRlQXBwbGljYXRpb25DYWNoZUhvc3QodGhpcykpOworICAgICAgICBXZWJLaXQ6OldlYkZy
YW1lSW1wbCogd2ViRnJhbWUgPSBXZWJLaXQ6OldlYkZyYW1lSW1wbDo6ZnJvbUZyYW1lKGhvc3Qt
Pm1fZG9jdW1lbnRMb2FkZXItPmZyYW1lKCkpOworICAgICAgICBBU1NFUlQod2ViRnJhbWUpOwor
ICAgICAgICBtX291dGVySG9zdC5zZXQod2ViRnJhbWUtPmNsaWVudCgpLT5jcmVhdGVBcHBsaWNh
dGlvbkNhY2hlSG9zdCh3ZWJGcmFtZSwgdGhpcykpOworICAgICAgICBpZiAoIW1fb3V0ZXJIb3N0
LmdldCgpKQorICAgICAgICAgICAgbV9vdXRlckhvc3Quc2V0KFdlYktpdDo6d2ViS2l0Q2xpZW50
KCktPmNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KHRoaXMpKTsKICAgICB9CiAKICAgICB2aXJ0
dWFsIHZvaWQgbm90aWZ5RXZlbnRMaXN0ZW5lcihXZWJLaXQ6OldlYkFwcGxpY2F0aW9uQ2FjaGVI
b3N0OjpFdmVudElEIGV2ZW50SUQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>