<?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>36795</bug_id>
          
          <creation_ts>2010-03-29 17:23:04 -0700</creation_ts>
          <short_desc>[chromium] Problems passing allowDatabase() off to the chrome layer</short_desc>
          <delta_ts>2010-03-30 08:15:18 -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>PC</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>1</everconfirmed>
          <reporter name="Andrew Wilson">atwilson</reporter>
          <assigned_to>jochen</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dimich</cc>
    
    <cc>ericu</cc>
    
    <cc>fishd</cc>
    
    <cc>jorlow</cc>
    
    <cc>levin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>205757</commentid>
    <comment_count>0</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2010-03-29 17:23:04 -0700</bug_when>
    <thetext>These comments should have been in bug #36595, but since that&apos;s closed I&apos;m putting them here. Sorry these comments are coming so late, but the webkit-&gt;chrome interface for workers is really complex and I missed/forgot some of the subtleties when doing my previous review pass.

&gt;
&gt; +        WebWorkerImpl* webWorker = reinterpret_cast&lt;WebWorkerImpl*&gt;(workerLoaderProxy);

I think this line should cast to WebWorkerBase, not WebWorkerImpl since
technically the object could be a WebSharedWorkerImpl instead.

Additionally, I would change WebWorkerBase::allowDatabase() so it is not virtual (no need to be virtual) and have it call commonClient()-&gt;allowDatabase() instead of returning true by default.

I&apos;d define allowDatabase() as a virtual function on WebCommonWorkerClient. You can then implement allowDatabase() in the chromium version of WebCommonWorkerClient in chrome/worker/webworkerclient_proxy.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205933</commentid>
    <comment_count>1</comment_count>
      <attachid>52022</attachid>
    <who name="">jochen</who>
    <bug_when>2010-03-30 04:13:56 -0700</bug_when>
    <thetext>Created attachment 52022
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205934</commentid>
    <comment_count>2</comment_count>
      <attachid>52023</attachid>
    <who name="">jochen</who>
    <bug_when>2010-03-30 04:17:34 -0700</bug_when>
    <thetext>Created attachment 52023
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205935</commentid>
    <comment_count>3</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-03-30 04:18:37 -0700</bug_when>
    <thetext>Drew, does this look good to you?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205937</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-30 04:20:42 -0700</bug_when>
    <thetext>Attachment 52023 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/1593077</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205949</commentid>
    <comment_count>5</comment_count>
      <attachid>52024</attachid>
    <who name="">jochen</who>
    <bug_when>2010-03-30 05:04:12 -0700</bug_when>
    <thetext>Created attachment 52024
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205951</commentid>
    <comment_count>6</comment_count>
      <attachid>52024</attachid>
    <who name="">jochen</who>
    <bug_when>2010-03-30 05:08:42 -0700</bug_when>
    <thetext>Comment on attachment 52024
Patch

I&apos;m removing the worker related bits for now. Getting this right requires more work, both on WebKit and on Chrome, so I&apos;d like to postpone that for now.

Taking into account that workers don&apos;t fully implement database access yet, I think that&apos;s the right way to go for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205955</commentid>
    <comment_count>7</comment_count>
      <attachid>52024</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-03-30 05:15:18 -0700</bug_when>
    <thetext>Comment on attachment 52024
Patch

&gt; diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
&gt; index 551c957..bdec06d 100644
&gt; --- a/WebKit/chromium/ChangeLog
&gt; +++ b/WebKit/chromium/ChangeLog
&gt; @@ -1,3 +1,17 @@
&gt; +2010-03-30  Jochen Eisinger  &lt;jochen@chromium.org&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Remove dysfunctional implementation of canEstablishDatabase for
&gt; +        Workers. I postpone this implementation until Workers can actually
&gt; +        access Web Databases.
&gt; +
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=36795
&gt; +
&gt; +        * src/DatabaseObserver.cpp:
&gt; +        (WebCore::DatabaseObserver::canEstablishDatabase):
&gt; +        * src/WebWorkerBase.h:
&gt; +
&gt;  2010-03-29  Rafael Weinstein  &lt;rafaelw@chromium.org&gt;
&gt;  
&gt;          Reviewed by Adam Barth.
&gt; diff --git a/WebKit/chromium/src/DatabaseObserver.cpp b/WebKit/chromium/src/DatabaseObserver.cpp
&gt; index e89bd5d..9ff5c8a 100644
&gt; --- a/WebKit/chromium/src/DatabaseObserver.cpp
&gt; +++ b/WebKit/chromium/src/DatabaseObserver.cpp
&gt; @@ -50,17 +50,17 @@ namespace WebCore {
&gt;  bool DatabaseObserver::canEstablishDatabase(ScriptExecutionContext* scriptExecutionContext, const String&amp; name, const String&amp; displayName, unsigned long estimatedSize)
&gt;  {
&gt;      ASSERT(scriptExecutionContext-&gt;isContextThread());
&gt; -    ASSERT(scriptExecutionContext-&gt;isDocument() || scriptExecutionContext-&gt;isWorkerContext());
&gt; +    // TODO(jochen): add support for the case

FIXME: not TODO():

&gt; +    // scriptExecutionContext()-&gt;isWorker() once workers implement web
&gt; +    // databases.

No 80 line wrapping.

&gt; +    ASSERT(scriptExecutionContext-&gt;isDocument());
&gt;      if (scriptExecutionContext-&gt;isDocument()) {
&gt;          Document* document = static_cast&lt;Document*&gt;(scriptExecutionContext);
&gt;          WebFrameImpl* webFrame = WebFrameImpl::fromFrame(document-&gt;frame());
&gt;          return webFrame-&gt;client()-&gt;allowDatabase(webFrame, name, displayName, estimatedSize);
&gt; -    } else {
&gt; -        WorkerContext* worker = static_cast&lt;WorkerContext*&gt;(scriptExecutionContext);
&gt; -        WorkerLoaderProxy* workerLoaderProxy = &amp;worker-&gt;thread()-&gt;workerLoaderProxy();
&gt; -        WebWorkerImpl* webWorker = reinterpret_cast&lt;WebWorkerImpl*&gt;(workerLoaderProxy);
&gt; -        return webWorker-&gt;allowDatabase(WebSecurityOrigin(scriptExecutionContext-&gt;securityOrigin()), name, displayName, estimatedSize);
&gt;      }
&gt; +
&gt; +    return true;
&gt;  }
&gt;  
&gt;  void DatabaseObserver::databaseOpened(Database* database)
&gt; diff --git a/WebKit/chromium/src/WebWorkerBase.h b/WebKit/chromium/src/WebWorkerBase.h
&gt; index c50d4a3..d7e51fa 100644
&gt; --- a/WebKit/chromium/src/WebWorkerBase.h
&gt; +++ b/WebKit/chromium/src/WebWorkerBase.h
&gt; @@ -80,9 +80,6 @@ public:
&gt;      virtual void postTaskForModeToWorkerContext(
&gt;          PassOwnPtr&lt;WebCore::ScriptExecutionContext::Task&gt;, const WebCore::String&amp; mode);
&gt;  
&gt; -    // Controls whether access to Web Databases is allowed for this worker.
&gt; -    virtual bool allowDatabase(const WebSecurityOrigin&amp;, const WebString&amp;, const WebString&amp;, unsigned long) { return true; }
&gt; -
&gt;      // Executes the given task on the main thread.
&gt;      static void dispatchTaskToMainThread(PassOwnPtr&lt;WebCore::ScriptExecutionContext::Task&gt;);
&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205962</commentid>
    <comment_count>8</comment_count>
      <attachid>52026</attachid>
    <who name="">jochen</who>
    <bug_when>2010-03-30 05:49:28 -0700</bug_when>
    <thetext>Created attachment 52026
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205963</commentid>
    <comment_count>9</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-03-30 05:57:58 -0700</bug_when>
    <thetext>r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205975</commentid>
    <comment_count>10</comment_count>
      <attachid>52026</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-30 06:46:02 -0700</bug_when>
    <thetext>Comment on attachment 52026
Patch

Clearing flags on attachment: 52026

Committed r56782: &lt;http://trac.webkit.org/changeset/56782&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205976</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-30 06:46:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52022</attachid>
            <date>2010-03-30 04:13:56 -0700</date>
            <delta_ts>2010-03-30 04:17:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36795-20100330131354.patch</filename>
            <type>text/plain</type>
            <size>5229</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IGUxYTc4MmYuLmQ0OTkyMGMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIxIEBACisyMDEwLTAzLTMwICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhc3Mg
YWxsb3dEYXRhYmFzZSgpIG9mZiB0byB0aGUgY2hyb21lIGxheWVyIHZpYQorICAgICAgICBXZWJD
b21tb25Xb3JrZXJDbGllbnQuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM2Nzk1CisKKyAgICAgICAgKiBwdWJsaWMvV2ViQ29tbW9uV29ya2VyQ2xp
ZW50Lmg6CisgICAgICAgICogc3JjL0RhdGFiYXNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RGF0YWJhc2VPYnNlcnZlcjo6Y2FuRXN0YWJsaXNoRGF0YWJhc2UpOgorICAgICAgICAq
IHNyYy9XZWJXb3JrZXJCYXNlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViV29ya2VyQmFzZTo6
YWxsb3dEYXRhYmFzZSk6CisgICAgICAgICogc3JjL1dlYldvcmtlckJhc2UuaDoKKyAgICAgICAg
KiBzcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJXb3JrZXJD
bGllbnRJbXBsOjphbGxvd0RhdGFiYXNlKToKKwogMjAxMC0wMy0yNCAgSmFtZXMgSGF3a2lucyAg
PGpoYXdraW5zQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNo
ZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbldvcmtlckNs
aWVudC5oIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaApp
bmRleCA3NzFmZmZmLi4yOTc4MDA0IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkNvbW1vbldvcmtlckNsaWVudC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
Q29tbW9uV29ya2VyQ2xpZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKQEAgLTM0LDYgKzM0LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewog
CiBjbGFzcyBXZWJOb3RpZmljYXRpb25QcmVzZW50ZXI7CitjbGFzcyBXZWJTZWN1cml0eU9yaWdp
bjsKIGNsYXNzIFdlYlN0cmluZzsKIGNsYXNzIFdlYldvcmtlcjsKIGNsYXNzIFdlYldvcmtlckNs
aWVudDsKQEAgLTcwLDYgKzcxLDEwIEBAIHB1YmxpYzoKICAgICAvLyB0aGV5IGFyZSBjcmVhdGVk
IHZpYSB0aGUgV2ViU2hhcmVkV29ya2VyUmVwb3NpdG9yeS4KICAgICB2aXJ0dWFsIFdlYldvcmtl
ciogY3JlYXRlV29ya2VyKFdlYldvcmtlckNsaWVudCogY2xpZW50KSA9IDA7CiAKKyAgICAvLyBU
cnVlIGlmIHRoZSBXb3JrZXIgY2FuIGVzdGFibGlzaCB3ZWIgZGF0YWJhc2UgY29ubmVjdGlvbnMu
IFRoaXMgaGFzIHRvCisgICAgLy8gYmUgY2FsbGVkIG9uIHRoZSBjb250ZXh0IHRocmVhZCBvZiB0
aGUgV29ya2VyLgorICAgIHZpcnR1YWwgYm9vbCBhbGxvd0RhdGFiYXNlKGNvbnN0IFdlYlNlY3Vy
aXR5T3JpZ2luJiBvcmlnaW4sIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU3RyaW5n
JiBkaXNwbGF5TmFtZSwgdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplKSA9IDA7CisKIHByb3Rl
Y3RlZDoKICAgICB+V2ViQ29tbW9uV29ya2VyQ2xpZW50KCkgeyB9CiB9OwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2Nocm9taXVtL3NyYy9EYXRhYmFzZU9ic2VydmVyLmNwcCBiL1dlYktpdC9jaHJvbWl1
bS9zcmMvRGF0YWJhc2VPYnNlcnZlci5jcHAKaW5kZXggZTA5MzExMS4uN2FhYmFiZCAxMDA2NDQK
LS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRhYmFzZU9ic2VydmVyLmNwcAorKysgYi9XZWJL
aXQvY2hyb21pdW0vc3JjL0RhdGFiYXNlT2JzZXJ2ZXIuY3BwCkBAIC01Nyw3ICs1Nyw3IEBAIGJv
b2wgRGF0YWJhc2VPYnNlcnZlcjo6Y2FuRXN0YWJsaXNoRGF0YWJhc2UoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogc2NyaXB0RXhlY3V0CiAgICAgfSBlbHNlIHsKICAgICAgICAgV29ya2VyQ29udGV4
dCogd29ya2VyID0gc3RhdGljX2Nhc3Q8V29ya2VyQ29udGV4dCo+KHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQpOwogICAgICAgICBXb3JrZXJMb2FkZXJQcm94eSogd29ya2VyTG9hZGVyUHJveHkgPSAm
d29ya2VyLT50aHJlYWQoKS0+d29ya2VyTG9hZGVyUHJveHkoKTsKLSAgICAgICAgV2ViV29ya2Vy
SW1wbCogd2ViV29ya2VyID0gcmVpbnRlcnByZXRfY2FzdDxXZWJXb3JrZXJJbXBsKj4od29ya2Vy
TG9hZGVyUHJveHkpOworICAgICAgICBXZWJXb3JrZXJCYXNlKiB3ZWJXb3JrZXIgPSByZWludGVy
cHJldF9jYXN0PFdlYldvcmtlckJhc2UqPih3b3JrZXJMb2FkZXJQcm94eSk7CiAgICAgICAgIHJl
dHVybiB3ZWJXb3JrZXItPmFsbG93RGF0YWJhc2UoV2ViU2VjdXJpdHlPcmlnaW4oc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSksIG5hbWUsIGRpc3BsYXlOYW1lLCBlc3Rp
bWF0ZWRTaXplKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YldvcmtlckJhc2UuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJCYXNlLmNwcApp
bmRleCA0MDAxOWU4Li4wNTEwMjhjIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YldvcmtlckJhc2UuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5j
cHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
QEAgLTEzOCw2ICsxMzgsMTEgQEAgdm9pZCBXZWJXb3JrZXJCYXNlOjppbml0aWFsaXplTG9hZGVy
KGNvbnN0IFdlYlVSTCYgdXJsKQogICAgIG1fbG9hZGluZ0RvY3VtZW50ID0gd2ViRnJhbWUtPmZy
YW1lKCktPmRvY3VtZW50KCk7CiB9CiAKK2Jvb2wgV2ViV29ya2VyQmFzZTo6YWxsb3dEYXRhYmFz
ZShjb25zdCBXZWJTZWN1cml0eU9yaWdpbiYgb3JpZ2luLCBjb25zdCBXZWJTdHJpbmcmIG5hbWUs
IGNvbnN0IFdlYlN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6
ZSkKK3sKKyAgICByZXR1cm4gY29tbW9uQ2xpZW50KCktPmFsbG93RGF0YWJhc2Uob3JpZ2luLCBu
YW1lLCBkaXNwbGF5TmFtZSwgZXN0aW1hdGVkU2l6ZSk7Cit9CisKIHZvaWQgV2ViV29ya2VyQmFz
ZTo6ZGlzcGF0Y2hUYXNrVG9NYWluVGhyZWFkKFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDo6VGFzaz4gdGFzaykKIHsKICAgICByZXR1cm4gY2FsbE9uTWFpblRocmVhZChpbnZva2VU
YXNrTWV0aG9kLCB0YXNrLnJlbGVhc2UoKSk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYldvcmtlckJhc2UuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5o
CmluZGV4IGM1MGQ0YTMuLmVkMjYwNWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViV29ya2VyQmFzZS5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5o
CkBAIC04MSw3ICs4MSw3IEBAIHB1YmxpYzoKICAgICAgICAgUGFzc093blB0cjxXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiwgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiBtb2Rl
KTsKIAogICAgIC8vIENvbnRyb2xzIHdoZXRoZXIgYWNjZXNzIHRvIFdlYiBEYXRhYmFzZXMgaXMg
YWxsb3dlZCBmb3IgdGhpcyB3b3JrZXIuCi0gICAgdmlydHVhbCBib29sIGFsbG93RGF0YWJhc2Uo
Y29uc3QgV2ViU2VjdXJpdHlPcmlnaW4mLCBjb25zdCBXZWJTdHJpbmcmLCBjb25zdCBXZWJTdHJp
bmcmLCB1bnNpZ25lZCBsb25nKSB7IHJldHVybiB0cnVlOyB9CisgICAgYm9vbCBhbGxvd0RhdGFi
YXNlKGNvbnN0IFdlYlNlY3VyaXR5T3JpZ2luJiwgY29uc3QgV2ViU3RyaW5nJiwgY29uc3QgV2Vi
U3RyaW5nJiwgdW5zaWduZWQgbG9uZyk7CiAKICAgICAvLyBFeGVjdXRlcyB0aGUgZ2l2ZW4gdGFz
ayBvbiB0aGUgbWFpbiB0aHJlYWQuCiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUYXNrVG9NYWlu
VGhyZWFkKFBhc3NPd25QdHI8V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4p
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmgg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaAppbmRleCA2M2FjZWJj
Li5lMWE0NDhiIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVu
dEltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaApA
QCAtOTAsNiArOTAsNyBAQCBwdWJsaWM6CiAgICAgICAgIC8vIEZJWE1FOiBOb3RpZmljYXRpb25z
IG5vdCB5ZXQgc3VwcG9ydGVkIGluIHdvcmtlcnMuCiAgICAgICAgIHJldHVybiAwOwogICAgIH0K
KyAgICB2aXJ0dWFsIGJvb2wgYWxsb3dEYXRhYmFzZShjb25zdCBXZWJTZWN1cml0eU9yaWdpbiYg
b3JpZ2luLCBjb25zdCBXZWJTdHJpbmcmIG5hbWUsIGNvbnN0IFdlYlN0cmluZyYgZGlzcGxheU5h
bWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSkgeyByZXR1cm4gdHJ1ZTsgfQogCiBwcml2
YXRlOgogICAgIHZpcnR1YWwgfldlYldvcmtlckNsaWVudEltcGwoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52023</attachid>
            <date>2010-03-30 04:17:34 -0700</date>
            <delta_ts>2010-03-30 05:04:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36795-20100330131732.patch</filename>
            <type>text/plain</type>
            <size>5289</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IGUxYTc4MmYuLmQ0OTkyMGMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIxIEBACisyMDEwLTAzLTMwICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhc3Mg
YWxsb3dEYXRhYmFzZSgpIG9mZiB0byB0aGUgY2hyb21lIGxheWVyIHZpYQorICAgICAgICBXZWJD
b21tb25Xb3JrZXJDbGllbnQuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM2Nzk1CisKKyAgICAgICAgKiBwdWJsaWMvV2ViQ29tbW9uV29ya2VyQ2xp
ZW50Lmg6CisgICAgICAgICogc3JjL0RhdGFiYXNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RGF0YWJhc2VPYnNlcnZlcjo6Y2FuRXN0YWJsaXNoRGF0YWJhc2UpOgorICAgICAgICAq
IHNyYy9XZWJXb3JrZXJCYXNlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViV29ya2VyQmFzZTo6
YWxsb3dEYXRhYmFzZSk6CisgICAgICAgICogc3JjL1dlYldvcmtlckJhc2UuaDoKKyAgICAgICAg
KiBzcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJXb3JrZXJD
bGllbnRJbXBsOjphbGxvd0RhdGFiYXNlKToKKwogMjAxMC0wMy0yNCAgSmFtZXMgSGF3a2lucyAg
PGpoYXdraW5zQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNo
ZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbldvcmtlckNs
aWVudC5oIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaApp
bmRleCA3NzFmZmZmLi4yOTc4MDA0IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkNvbW1vbldvcmtlckNsaWVudC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
Q29tbW9uV29ya2VyQ2xpZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKQEAgLTM0LDYgKzM0LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewog
CiBjbGFzcyBXZWJOb3RpZmljYXRpb25QcmVzZW50ZXI7CitjbGFzcyBXZWJTZWN1cml0eU9yaWdp
bjsKIGNsYXNzIFdlYlN0cmluZzsKIGNsYXNzIFdlYldvcmtlcjsKIGNsYXNzIFdlYldvcmtlckNs
aWVudDsKQEAgLTcwLDYgKzcxLDEwIEBAIHB1YmxpYzoKICAgICAvLyB0aGV5IGFyZSBjcmVhdGVk
IHZpYSB0aGUgV2ViU2hhcmVkV29ya2VyUmVwb3NpdG9yeS4KICAgICB2aXJ0dWFsIFdlYldvcmtl
ciogY3JlYXRlV29ya2VyKFdlYldvcmtlckNsaWVudCogY2xpZW50KSA9IDA7CiAKKyAgICAvLyBU
cnVlIGlmIHRoZSBXb3JrZXIgY2FuIGVzdGFibGlzaCB3ZWIgZGF0YWJhc2UgY29ubmVjdGlvbnMu
IFRoaXMgaGFzIHRvCisgICAgLy8gYmUgY2FsbGVkIG9uIHRoZSBjb250ZXh0IHRocmVhZCBvZiB0
aGUgV29ya2VyLgorICAgIHZpcnR1YWwgYm9vbCBhbGxvd0RhdGFiYXNlKGNvbnN0IFdlYlNlY3Vy
aXR5T3JpZ2luJiBvcmlnaW4sIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU3RyaW5n
JiBkaXNwbGF5TmFtZSwgdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplKSA9IDA7CisKIHByb3Rl
Y3RlZDoKICAgICB+V2ViQ29tbW9uV29ya2VyQ2xpZW50KCkgeyB9CiB9OwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2Nocm9taXVtL3NyYy9EYXRhYmFzZU9ic2VydmVyLmNwcCBiL1dlYktpdC9jaHJvbWl1
bS9zcmMvRGF0YWJhc2VPYnNlcnZlci5jcHAKaW5kZXggZTA5MzExMS4uN2FhYmFiZCAxMDA2NDQK
LS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRhYmFzZU9ic2VydmVyLmNwcAorKysgYi9XZWJL
aXQvY2hyb21pdW0vc3JjL0RhdGFiYXNlT2JzZXJ2ZXIuY3BwCkBAIC01Nyw3ICs1Nyw3IEBAIGJv
b2wgRGF0YWJhc2VPYnNlcnZlcjo6Y2FuRXN0YWJsaXNoRGF0YWJhc2UoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogc2NyaXB0RXhlY3V0CiAgICAgfSBlbHNlIHsKICAgICAgICAgV29ya2VyQ29udGV4
dCogd29ya2VyID0gc3RhdGljX2Nhc3Q8V29ya2VyQ29udGV4dCo+KHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQpOwogICAgICAgICBXb3JrZXJMb2FkZXJQcm94eSogd29ya2VyTG9hZGVyUHJveHkgPSAm
d29ya2VyLT50aHJlYWQoKS0+d29ya2VyTG9hZGVyUHJveHkoKTsKLSAgICAgICAgV2ViV29ya2Vy
SW1wbCogd2ViV29ya2VyID0gcmVpbnRlcnByZXRfY2FzdDxXZWJXb3JrZXJJbXBsKj4od29ya2Vy
TG9hZGVyUHJveHkpOworICAgICAgICBXZWJXb3JrZXJCYXNlKiB3ZWJXb3JrZXIgPSByZWludGVy
cHJldF9jYXN0PFdlYldvcmtlckJhc2UqPih3b3JrZXJMb2FkZXJQcm94eSk7CiAgICAgICAgIHJl
dHVybiB3ZWJXb3JrZXItPmFsbG93RGF0YWJhc2UoV2ViU2VjdXJpdHlPcmlnaW4oc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSksIG5hbWUsIGRpc3BsYXlOYW1lLCBlc3Rp
bWF0ZWRTaXplKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YldvcmtlckJhc2UuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJCYXNlLmNwcApp
bmRleCA0MDAxOWU4Li42MzVjNGFhIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YldvcmtlckJhc2UuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5j
cHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
QEAgLTEzOCw2ICsxMzgsMTQgQEAgdm9pZCBXZWJXb3JrZXJCYXNlOjppbml0aWFsaXplTG9hZGVy
KGNvbnN0IFdlYlVSTCYgdXJsKQogICAgIG1fbG9hZGluZ0RvY3VtZW50ID0gd2ViRnJhbWUtPmZy
YW1lKCktPmRvY3VtZW50KCk7CiB9CiAKK2Jvb2wgV2ViV29ya2VyQmFzZTo6YWxsb3dEYXRhYmFz
ZShjb25zdCBXZWJTZWN1cml0eU9yaWdpbiYgb3JpZ2luLCBjb25zdCBXZWJTdHJpbmcmIG5hbWUs
IGNvbnN0IFdlYlN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6
ZSkKK3sKKyAgICBpZiAoIXRoaXNQdHItPmNvbW1vbkNsaWVudCgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICByZXR1cm4gY29tbW9uQ2xpZW50KCktPmFsbG93RGF0YWJhc2Uob3JpZ2lu
LCBuYW1lLCBkaXNwbGF5TmFtZSwgZXN0aW1hdGVkU2l6ZSk7Cit9CisKIHZvaWQgV2ViV29ya2Vy
QmFzZTo6ZGlzcGF0Y2hUYXNrVG9NYWluVGhyZWFkKFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9u
Q29udGV4dDo6VGFzaz4gdGFzaykKIHsKICAgICByZXR1cm4gY2FsbE9uTWFpblRocmVhZChpbnZv
a2VUYXNrTWV0aG9kLCB0YXNrLnJlbGVhc2UoKSk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYldvcmtlckJhc2UuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFz
ZS5oCmluZGV4IGM1MGQ0YTMuLmVkMjYwNWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViV29ya2VyQmFzZS5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFz
ZS5oCkBAIC04MSw3ICs4MSw3IEBAIHB1YmxpYzoKICAgICAgICAgUGFzc093blB0cjxXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiwgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiBt
b2RlKTsKIAogICAgIC8vIENvbnRyb2xzIHdoZXRoZXIgYWNjZXNzIHRvIFdlYiBEYXRhYmFzZXMg
aXMgYWxsb3dlZCBmb3IgdGhpcyB3b3JrZXIuCi0gICAgdmlydHVhbCBib29sIGFsbG93RGF0YWJh
c2UoY29uc3QgV2ViU2VjdXJpdHlPcmlnaW4mLCBjb25zdCBXZWJTdHJpbmcmLCBjb25zdCBXZWJT
dHJpbmcmLCB1bnNpZ25lZCBsb25nKSB7IHJldHVybiB0cnVlOyB9CisgICAgYm9vbCBhbGxvd0Rh
dGFiYXNlKGNvbnN0IFdlYlNlY3VyaXR5T3JpZ2luJiwgY29uc3QgV2ViU3RyaW5nJiwgY29uc3Qg
V2ViU3RyaW5nJiwgdW5zaWduZWQgbG9uZyk7CiAKICAgICAvLyBFeGVjdXRlcyB0aGUgZ2l2ZW4g
dGFzayBvbiB0aGUgbWFpbiB0aHJlYWQuCiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUYXNrVG9N
YWluVGhyZWFkKFBhc3NPd25QdHI8V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFz
az4pOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBs
LmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaAppbmRleCA2M2Fj
ZWJjLi5lMWE0NDhiIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNs
aWVudEltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwu
aApAQCAtOTAsNiArOTAsNyBAQCBwdWJsaWM6CiAgICAgICAgIC8vIEZJWE1FOiBOb3RpZmljYXRp
b25zIG5vdCB5ZXQgc3VwcG9ydGVkIGluIHdvcmtlcnMuCiAgICAgICAgIHJldHVybiAwOwogICAg
IH0KKyAgICB2aXJ0dWFsIGJvb2wgYWxsb3dEYXRhYmFzZShjb25zdCBXZWJTZWN1cml0eU9yaWdp
biYgb3JpZ2luLCBjb25zdCBXZWJTdHJpbmcmIG5hbWUsIGNvbnN0IFdlYlN0cmluZyYgZGlzcGxh
eU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSkgeyByZXR1cm4gdHJ1ZTsgfQogCiBw
cml2YXRlOgogICAgIHZpcnR1YWwgfldlYldvcmtlckNsaWVudEltcGwoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52024</attachid>
            <date>2010-03-30 05:04:12 -0700</date>
            <delta_ts>2010-03-30 05:49:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36795-20100330140410.patch</filename>
            <type>text/plain</type>
            <size>3031</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDU1MWM5NTcuLmJkZWMwNmQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDEwLTAzLTMwICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92
ZSBkeXNmdW5jdGlvbmFsIGltcGxlbWVudGF0aW9uIG9mIGNhbkVzdGFibGlzaERhdGFiYXNlIGZv
cgorICAgICAgICBXb3JrZXJzLiBJIHBvc3Rwb25lIHRoaXMgaW1wbGVtZW50YXRpb24gdW50aWwg
V29ya2VycyBjYW4gYWN0dWFsbHkKKyAgICAgICAgYWNjZXNzIFdlYiBEYXRhYmFzZXMuCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2Nzk1CisKKyAg
ICAgICAgKiBzcmMvRGF0YWJhc2VPYnNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRh
YmFzZU9ic2VydmVyOjpjYW5Fc3RhYmxpc2hEYXRhYmFzZSk6CisgICAgICAgICogc3JjL1dlYldv
cmtlckJhc2UuaDoKKwogMjAxMC0wMy0yOSAgUmFmYWVsIFdlaW5zdGVpbiAgPHJhZmFlbHdAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQg
YS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGFiYXNlT2JzZXJ2ZXIuY3BwIGIvV2ViS2l0L2Nocm9t
aXVtL3NyYy9EYXRhYmFzZU9ic2VydmVyLmNwcAppbmRleCBlODliZDVkLi45ZmY1YzhhIDEwMDY0
NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGFiYXNlT2JzZXJ2ZXIuY3BwCisrKyBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvRGF0YWJhc2VPYnNlcnZlci5jcHAKQEAgLTUwLDE3ICs1MCwxNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBib29sIERhdGFiYXNlT2JzZXJ2ZXI6OmNhbkVzdGFibGlz
aERhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
IGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgdW5zaWduZWQg
bG9uZyBlc3RpbWF0ZWRTaXplKQogewogICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0
LT5pc0NvbnRleHRUaHJlYWQoKSk7Ci0gICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQt
PmlzRG9jdW1lbnQoKSB8fCBzY3JpcHRFeGVjdXRpb25Db250ZXh0LT5pc1dvcmtlckNvbnRleHQo
KSk7CisgICAgLy8gVE9ETyhqb2NoZW4pOiBhZGQgc3VwcG9ydCBmb3IgdGhlIGNhc2UKKyAgICAv
LyBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlzV29ya2VyKCkgb25jZSB3b3JrZXJzIGltcGxl
bWVudCB3ZWIKKyAgICAvLyBkYXRhYmFzZXMuCisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQtPmlzRG9jdW1lbnQoKSk7CiAgICAgaWYgKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmlz
RG9jdW1lbnQoKSkgewogICAgICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBzdGF0aWNfY2FzdDxE
b2N1bWVudCo+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwogICAgICAgICBXZWJGcmFtZUltcGwq
IHdlYkZyYW1lID0gV2ViRnJhbWVJbXBsOjpmcm9tRnJhbWUoZG9jdW1lbnQtPmZyYW1lKCkpOwog
ICAgICAgICByZXR1cm4gd2ViRnJhbWUtPmNsaWVudCgpLT5hbGxvd0RhdGFiYXNlKHdlYkZyYW1l
LCBuYW1lLCBkaXNwbGF5TmFtZSwgZXN0aW1hdGVkU2l6ZSk7Ci0gICAgfSBlbHNlIHsKLSAgICAg
ICAgV29ya2VyQ29udGV4dCogd29ya2VyID0gc3RhdGljX2Nhc3Q8V29ya2VyQ29udGV4dCo+KHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQpOwotICAgICAgICBXb3JrZXJMb2FkZXJQcm94eSogd29ya2Vy
TG9hZGVyUHJveHkgPSAmd29ya2VyLT50aHJlYWQoKS0+d29ya2VyTG9hZGVyUHJveHkoKTsKLSAg
ICAgICAgV2ViV29ya2VySW1wbCogd2ViV29ya2VyID0gcmVpbnRlcnByZXRfY2FzdDxXZWJXb3Jr
ZXJJbXBsKj4od29ya2VyTG9hZGVyUHJveHkpOwotICAgICAgICByZXR1cm4gd2ViV29ya2VyLT5h
bGxvd0RhdGFiYXNlKFdlYlNlY3VyaXR5T3JpZ2luKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnNl
Y3VyaXR5T3JpZ2luKCkpLCBuYW1lLCBkaXNwbGF5TmFtZSwgZXN0aW1hdGVkU2l6ZSk7CiAgICAg
fQorCisgICAgcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgRGF0YWJhc2VPYnNlcnZlcjo6ZGF0YWJh
c2VPcGVuZWQoRGF0YWJhc2UqIGRhdGFiYXNlKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJXb3JrZXJCYXNlLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2Uu
aAppbmRleCBjNTBkNGEzLi5kN2U1MWZhIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYldvcmtlckJhc2UuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2Uu
aApAQCAtODAsOSArODAsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBvc3RUYXNrRm9y
TW9kZVRvV29ya2VyQ29udGV4dCgKICAgICAgICAgUGFzc093blB0cjxXZWJDb3JlOjpTY3JpcHRF
eGVjdXRpb25Db250ZXh0OjpUYXNrPiwgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiBtb2RlKTsKIAot
ICAgIC8vIENvbnRyb2xzIHdoZXRoZXIgYWNjZXNzIHRvIFdlYiBEYXRhYmFzZXMgaXMgYWxsb3dl
ZCBmb3IgdGhpcyB3b3JrZXIuCi0gICAgdmlydHVhbCBib29sIGFsbG93RGF0YWJhc2UoY29uc3Qg
V2ViU2VjdXJpdHlPcmlnaW4mLCBjb25zdCBXZWJTdHJpbmcmLCBjb25zdCBXZWJTdHJpbmcmLCB1
bnNpZ25lZCBsb25nKSB7IHJldHVybiB0cnVlOyB9Ci0KICAgICAvLyBFeGVjdXRlcyB0aGUgZ2l2
ZW4gdGFzayBvbiB0aGUgbWFpbiB0aHJlYWQuCiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUYXNr
VG9NYWluVGhyZWFkKFBhc3NPd25QdHI8V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6
VGFzaz4pOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52026</attachid>
            <date>2010-03-30 05:49:28 -0700</date>
            <delta_ts>2010-03-30 06:46:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36795-20100330144926.patch</filename>
            <type>text/plain</type>
            <size>3008</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDU1MWM5NTcuLmJkZWMwNmQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDEwLTAzLTMwICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92
ZSBkeXNmdW5jdGlvbmFsIGltcGxlbWVudGF0aW9uIG9mIGNhbkVzdGFibGlzaERhdGFiYXNlIGZv
cgorICAgICAgICBXb3JrZXJzLiBJIHBvc3Rwb25lIHRoaXMgaW1wbGVtZW50YXRpb24gdW50aWwg
V29ya2VycyBjYW4gYWN0dWFsbHkKKyAgICAgICAgYWNjZXNzIFdlYiBEYXRhYmFzZXMuCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2Nzk1CisKKyAg
ICAgICAgKiBzcmMvRGF0YWJhc2VPYnNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRh
YmFzZU9ic2VydmVyOjpjYW5Fc3RhYmxpc2hEYXRhYmFzZSk6CisgICAgICAgICogc3JjL1dlYldv
cmtlckJhc2UuaDoKKwogMjAxMC0wMy0yOSAgUmFmYWVsIFdlaW5zdGVpbiAgPHJhZmFlbHdAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQg
YS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGFiYXNlT2JzZXJ2ZXIuY3BwIGIvV2ViS2l0L2Nocm9t
aXVtL3NyYy9EYXRhYmFzZU9ic2VydmVyLmNwcAppbmRleCBlODliZDVkLi42YTJlMmE3IDEwMDY0
NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGFiYXNlT2JzZXJ2ZXIuY3BwCisrKyBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvRGF0YWJhc2VPYnNlcnZlci5jcHAKQEAgLTUwLDE3ICs1MCwxNSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBib29sIERhdGFiYXNlT2JzZXJ2ZXI6OmNhbkVzdGFibGlz
aERhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
IGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgdW5zaWduZWQg
bG9uZyBlc3RpbWF0ZWRTaXplKQogewogICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0
LT5pc0NvbnRleHRUaHJlYWQoKSk7Ci0gICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQt
PmlzRG9jdW1lbnQoKSB8fCBzY3JpcHRFeGVjdXRpb25Db250ZXh0LT5pc1dvcmtlckNvbnRleHQo
KSk7CisgICAgLy8gRklYTUU6IGFkZCBzdXBwb3J0IGZvciB0aGUgY2FzZSBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPmlzV29ya2VyKCkgb25jZSB3b3JrZXJzIGltcGxlbWVudCB3ZWIgZGF0YWJh
c2VzLgorICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0LT5pc0RvY3VtZW50KCkpOwog
ICAgIGlmIChzY3JpcHRFeGVjdXRpb25Db250ZXh0LT5pc0RvY3VtZW50KCkpIHsKICAgICAgICAg
RG9jdW1lbnQqIGRvY3VtZW50ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihzY3JpcHRFeGVjdXRp
b25Db250ZXh0KTsKICAgICAgICAgV2ViRnJhbWVJbXBsKiB3ZWJGcmFtZSA9IFdlYkZyYW1lSW1w
bDo6ZnJvbUZyYW1lKGRvY3VtZW50LT5mcmFtZSgpKTsKICAgICAgICAgcmV0dXJuIHdlYkZyYW1l
LT5jbGllbnQoKS0+YWxsb3dEYXRhYmFzZSh3ZWJGcmFtZSwgbmFtZSwgZGlzcGxheU5hbWUsIGVz
dGltYXRlZFNpemUpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIFdvcmtlckNvbnRleHQqIHdvcmtl
ciA9IHN0YXRpY19jYXN0PFdvcmtlckNvbnRleHQqPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsK
LSAgICAgICAgV29ya2VyTG9hZGVyUHJveHkqIHdvcmtlckxvYWRlclByb3h5ID0gJndvcmtlci0+
dGhyZWFkKCktPndvcmtlckxvYWRlclByb3h5KCk7Ci0gICAgICAgIFdlYldvcmtlckltcGwqIHdl
YldvcmtlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViV29ya2VySW1wbCo+KHdvcmtlckxvYWRlclBy
b3h5KTsKLSAgICAgICAgcmV0dXJuIHdlYldvcmtlci0+YWxsb3dEYXRhYmFzZShXZWJTZWN1cml0
eU9yaWdpbihzY3JpcHRFeGVjdXRpb25Db250ZXh0LT5zZWN1cml0eU9yaWdpbigpKSwgbmFtZSwg
ZGlzcGxheU5hbWUsIGVzdGltYXRlZFNpemUpOwogICAgIH0KKworICAgIHJldHVybiB0cnVlOwog
fQogCiB2b2lkIERhdGFiYXNlT2JzZXJ2ZXI6OmRhdGFiYXNlT3BlbmVkKERhdGFiYXNlKiBkYXRh
YmFzZSkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5oIGIv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJCYXNlLmgKaW5kZXggYzUwZDRhMy4uZDdlNTFm
YSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJCYXNlLmgKKysrIGIv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJCYXNlLmgKQEAgLTgwLDkgKzgwLDYgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBwb3N0VGFza0Zvck1vZGVUb1dvcmtlckNvbnRleHQoCiAg
ICAgICAgIFBhc3NPd25QdHI8V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4s
IGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgbW9kZSk7CiAKLSAgICAvLyBDb250cm9scyB3aGV0aGVy
IGFjY2VzcyB0byBXZWIgRGF0YWJhc2VzIGlzIGFsbG93ZWQgZm9yIHRoaXMgd29ya2VyLgotICAg
IHZpcnR1YWwgYm9vbCBhbGxvd0RhdGFiYXNlKGNvbnN0IFdlYlNlY3VyaXR5T3JpZ2luJiwgY29u
c3QgV2ViU3RyaW5nJiwgY29uc3QgV2ViU3RyaW5nJiwgdW5zaWduZWQgbG9uZykgeyByZXR1cm4g
dHJ1ZTsgfQotCiAgICAgLy8gRXhlY3V0ZXMgdGhlIGdpdmVuIHRhc2sgb24gdGhlIG1haW4gdGhy
ZWFkLgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNoVGFza1RvTWFpblRocmVhZChQYXNzT3duUHRy
PFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+KTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>