<?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>81049</bug_id>
          
          <creation_ts>2012-03-13 15:49:44 -0700</creation_ts>
          <short_desc>Allow AudioContext::create() to emit an ExceptionCode.</short_desc>
          <delta_ts>2012-03-16 10:08:33 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>abarth</cc>
    
    <cc>crogers</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>577928</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-03-13 15:49:44 -0700</bug_when>
    <thetext>Allow AudioContext::create() to emit an ExceptionCode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577932</commentid>
    <comment_count>1</comment_count>
      <attachid>131737</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-03-13 15:52:24 -0700</bug_when>
    <thetext>Created attachment 131737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577943</commentid>
    <comment_count>2</comment_count>
      <attachid>131739</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-03-13 15:58:05 -0700</bug_when>
    <thetext>Created attachment 131739
Patch

Remove extraneous includes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578079</commentid>
    <comment_count>3</comment_count>
      <attachid>131739</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-13 18:31:49 -0700</bug_when>
    <thetext>Comment on attachment 131739
Patch

Attachment 131739 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11944937</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578635</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-03-14 12:19:59 -0700</bug_when>
    <thetext>looks like cr-linux breakage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578676</commentid>
    <comment_count>5</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-03-14 12:59:15 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; looks like cr-linux breakage

Yep.  I&apos;ll need to edit the V8 custom AudioContext code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580184</commentid>
    <comment_count>6</comment_count>
      <attachid>131739</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-15 23:26:55 -0700</bug_when>
    <thetext>Comment on attachment 131739
Patch

r- for clearing the pending review queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580226</commentid>
    <comment_count>7</comment_count>
      <attachid>132219</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-03-16 00:27:17 -0700</bug_when>
    <thetext>Created attachment 132219
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580227</commentid>
    <comment_count>8</comment_count>
      <attachid>132219</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-16 00:30:25 -0700</bug_when>
    <thetext>Comment on attachment 132219
Patch

Looks sane. Please ensure bots get green before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580232</commentid>
    <comment_count>9</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-03-16 00:37:13 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 132219 [details])
&gt; Looks sane. Please ensure bots get green before landing.

Sure thing.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580233</commentid>
    <comment_count>10</comment_count>
      <attachid>132219</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-16 00:37:38 -0700</bug_when>
    <thetext>Comment on attachment 132219
Patch

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

&gt; Source/WebCore/bindings/js/JSAudioContextCustom.cpp:75
&gt; +            return throwVMError(exec, createSyntaxError(exec, &quot;Error creating AudioContext&quot;));

Is it really intended (i.e. speced) to throw SYNTAX_ERROR when AudioContext::create() throws exception? Auto-generated existing JSC constructors return JSValue::encode(JSValue()) in such cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580237</commentid>
    <comment_count>11</comment_count>
      <attachid>132219</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-16 00:41:40 -0700</bug_when>
    <thetext>Comment on attachment 132219
Patch

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

&gt; Source/WebCore/bindings/v8/custom/V8AudioContextCustom.cpp:67
&gt; +            return throwError(ec);

On the other hand, this behavior is aligning with auto-generated existing V8 constructors. In other words, at present, auto-generated JSC constructors return undefined when create() throws exception, and auto-generated V8 constructors return TYPE_ERROR when create() throws exception. We need to fix these behaviors according to the spec anyway (in another bug).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580247</commentid>
    <comment_count>12</comment_count>
      <attachid>132219</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-16 00:55:43 -0700</bug_when>
    <thetext>Comment on attachment 132219
Patch

https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
The spec says nothing about the constructor. By the way, If the custom-constructor is replaced by auto-generated code using optional or overload parameter, it would be ideal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580251</commentid>
    <comment_count>13</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-16 00:58:41 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; By the way, If the custom-constructor is replaced by auto-generated code using optional or overload parameter, it would be ideal.

Yeah, I tried it before but gave up because the constructor needs to switch ::create() and ::createOfflineContext(), which is a &quot;special&quot; logic to AudioContext.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580256</commentid>
    <comment_count>14</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-16 01:06:26 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 132219 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=132219&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/v8/custom/V8AudioContextCustom.cpp:67
&gt; &gt; +            return throwError(ec);
&gt; 
&gt; On the other hand, this behavior is aligning with auto-generated existing V8 constructors. In other words, at present, auto-generated JSC constructors return undefined when create() throws exception, and auto-generated V8 constructors return TYPE_ERROR when create() throws exception. We need to fix these behaviors according to the spec anyway (in another bug).

Sorry, I posted confusing comments. Please ignore my previous comments;-)

Correction: 

    - auto-generated JSC constructors:
        if (ec) {
            setDOMException(exec, ec);
            return JSValue::encode(JSValue());
        }

    - auto-generated V8 constructors:
        if (ec) {
            return throwError(ec);
        }

The above two both throws an exception indicated by &apos;ec&apos;, which makes sense.

So I would recommend that you align the behavior of the AudioContext constructor with those existing constructors, unless you have a reason to make it behave differently from others.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580601</commentid>
    <comment_count>15</comment_count>
      <attachid>132304</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-03-16 09:50:45 -0700</bug_when>
    <thetext>Created attachment 132304
Patch

Makes sense.  Updating patch with suggestions above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580602</commentid>
    <comment_count>16</comment_count>
      <attachid>132304</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-16 09:51:49 -0700</bug_when>
    <thetext>Comment on attachment 132304
Patch

OK. Thanks for the patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580620</commentid>
    <comment_count>17</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-03-16 10:08:33 -0700</bug_when>
    <thetext>Committed r111022: &lt;http://trac.webkit.org/changeset/111022&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131737</attachid>
            <date>2012-03-13 15:52:24 -0700</date>
            <delta_ts>2012-03-13 15:58:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81049-20120313155223.patch</filename>
            <type>text/plain</type>
            <size>4002</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTg5YjhjOWI4N2VlZDhk
YmQ3YjAzNWUxNGJjYWRmZGYzMjRlOWM3MC4uZDQ0MjNmMGZmZGU5Y2FhN2UyZWRjZGU2OGUyODJi
Y2M1NDBlOTdhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAzLTEzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IEF1ZGlvQ29udGV4
dDo6Y3JlYXRlKCkgdG8gZW1pdCBhbiBFeGNlcHRpb25Db2RlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEwNDkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHM7IG5vIGNoYW5nZSBpbiBm
dW5jdGlvbmFsaXR5LgorCisgICAgICAgIFBhc3MgdGhyb3VnaCBhbiBFeGNlcHRpb25Db2RlIHBh
cmFtZXRlciB0byBBdWRpb0NvbnRleHQ6OmNyZWF0ZSgpLiAgSXQgaXMgY3VycmVudGx5CisgICAg
ICAgIG5ldmVyIG1vZGlmaWVkLCBidXQgZXhjZXB0aW9ucyB3aWxsIGJlIGFkZGVkIGluIHRoZSBm
dXR1cmUuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU0F1ZGlvQ29udGV4dENvbnN0cnVjdG9yOjpjb25zdHJ1Y3RK
U0F1ZGlvQ29udGV4dCk6CisgICAgICAgICogd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29udGV4dDo6Y3JlYXRlKToKKyAgICAgICAgKiB3ZWJhdWRp
by9BdWRpb0NvbnRleHQuaDoKKwogMjAxMi0wMS0xNiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFw
cGxlLmNvbT4KIAogICAgICAgICBXZWJBdWRpbzogT3B0aW1pemUgQXVkaW9CdXM6OmNyZWF0ZUJ5
TWl4aW5nVG9Nb25vKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
QXVkaW9Db250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVk
aW9Db250ZXh0Q3VzdG9tLmNwcAppbmRleCA2NGU0NGU2M2Y3MWM2M2Q1ODM2NjkxNTFhMGYyYTQ0
MDc5NWM4MzMzLi43ZTY4M2EyNjdiMmQ2ZTFjNGI2YzA3OGY0ZGQ2N2YyOTEwYzI3NzU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBdWRpb0NvbnRleHRDdXN0b20u
Y3BwCkBAIC02OCw3ICs2OCwxMiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTQXVk
aW9Db250ZXh0Q29uc3RydWN0b3I6OmNvbnN0cnVjdEpTQXVkaW9Db250ZXh0KAogICAgIAogICAg
IGlmICghZXhlYy0+YXJndW1lbnRDb3VudCgpKSB7CiAgICAgICAgIC8vIENvbnN0cnVjdG9yIGZv
ciBkZWZhdWx0IEF1ZGlvQ29udGV4dCB3aGljaCB0YWxrcyB0byBhdWRpbyBoYXJkd2FyZS4KLSAg
ICAgICAgYXVkaW9Db250ZXh0ID0gQXVkaW9Db250ZXh0OjpjcmVhdGUoZG9jdW1lbnQpOworICAg
ICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICAgICAgYXVkaW9Db250ZXh0ID0gQXVkaW9D
b250ZXh0OjpjcmVhdGUoZG9jdW1lbnQsIGVjKTsKKyAgICAgICAgaWYgKGVjKSB7CisgICAgICAg
ICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOworICAgICAgICAgICAgcmV0dXJuIHRocm93
Vk1FcnJvcihleGVjLCBjcmVhdGVTeW50YXhFcnJvcihleGVjLCAiRXJyb3IgY3JlYXRpbmcgQXVk
aW9Db250ZXh0IikpOworICAgICAgICB9CiAgICAgICAgIGlmICghYXVkaW9Db250ZXh0LmdldCgp
KQogICAgICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVTeW50YXhFcnJv
cihleGVjLCAiYXVkaW8gcmVzb3VyY2VzIHVuYXZhaWxhYmxlIGZvciBBdWRpb0NvbnRleHQgY29u
c3RydWN0aW9uIikpOwogICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmNwcAppbmRleCA1ZjQ5MDVhM2JkM2I0MTIzYzAwZWFkNTg5M2RjZTkwZDAwYzZmZGQ4
Li5iM2ExNWRhNWU1YjBiZDU0NDkxY2U5YmVjMWQ0ZjllZmM2OTA1YmViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAgLTU2LDggKzU2LDEwIEBACiAjaW5jbHVk
ZSAiT2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJp
bmcuaCIKICNpbmNsdWRlICJSZWFsdGltZUFuYWx5c2VyTm9kZS5oIgotI2luY2x1ZGUgIldhdmVT
aGFwZXJOb2RlLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCisjaW5jbHVkZSAiU2Ny
aXB0Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAiV2F2ZVNo
YXBlck5vZGUuaCIKIAogI2lmIEVOQUJMRShWSURFTykKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVt
ZW50LmgiCkBAIC05Niw4ICs5OCwxMCBAQCBib29sIGlzU2FtcGxlUmF0ZVJhbmdlR29vZChmbG9h
dCBzYW1wbGVSYXRlKQogY29uc3QgdW5zaWduZWQgTWF4SGFyZHdhcmVDb250ZXh0cyA9IDQ7CiB1
bnNpZ25lZCBBdWRpb0NvbnRleHQ6OnNfaGFyZHdhcmVDb250ZXh0Q291bnQgPSAwOwogICAgIAot
UGFzc1JlZlB0cjxBdWRpb0NvbnRleHQ+IEF1ZGlvQ29udGV4dDo6Y3JlYXRlKERvY3VtZW50KiBk
b2N1bWVudCkKK1Bhc3NSZWZQdHI8QXVkaW9Db250ZXh0PiBBdWRpb0NvbnRleHQ6OmNyZWF0ZShE
b2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogeworICAgIFVOVVNFRF9QQVJB
TShlYyk7CisKICAgICBBU1NFUlQoZG9jdW1lbnQpOwogICAgIEFTU0VSVChpc01haW5UaHJlYWQo
KSk7CiAgICAgaWYgKHNfaGFyZHdhcmVDb250ZXh0Q291bnQgPj0gTWF4SGFyZHdhcmVDb250ZXh0
cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oIGIv
U291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKaW5kZXggYjQyYTA3NWYyYTY5
Njg3MTQwMTM2NDU2ZjUyYjQ3Y2IwNzFhODFlZS4uMWNjYjRhZDM2NzFiMGRmY2JjNmU3NzkwZDA0
MjJiMTg4OTNmNmIxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKQEAg
LTcyLDcgKzcyLDcgQEAgY2xhc3MgSmF2YVNjcmlwdEF1ZGlvTm9kZTsKIGNsYXNzIEF1ZGlvQ29u
dGV4dCA6IHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRl
ZDxBdWRpb0NvbnRleHQ+LCBwdWJsaWMgRXZlbnRUYXJnZXQgewogcHVibGljOgogICAgIC8vIENy
ZWF0ZSBhbiBBdWRpb0NvbnRleHQgZm9yIHJlbmRlcmluZyB0byB0aGUgYXVkaW8gaGFyZHdhcmUu
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8QXVkaW9Db250ZXh0PiBjcmVhdGUoRG9jdW1lbnQqKTsK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdWRpb0NvbnRleHQ+IGNyZWF0ZShEb2N1bWVudCosIEV4
Y2VwdGlvbkNvZGUmKTsKIAogICAgIC8vIENyZWF0ZSBhbiBBdWRpb0NvbnRleHQgZm9yIG9mZmxp
bmUgKG5vbi1yZWFsdGltZSkgcmVuZGVyaW5nLgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEF1ZGlv
Q29udGV4dD4gY3JlYXRlT2ZmbGluZUNvbnRleHQoRG9jdW1lbnQqLCB1bnNpZ25lZCBudW1iZXJP
ZkNoYW5uZWxzLCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMsIGZsb2F0IHNhbXBsZVJhdGUsIEV4Y2Vw
dGlvbkNvZGUmKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131739</attachid>
            <date>2012-03-13 15:58:05 -0700</date>
            <delta_ts>2012-03-16 00:27:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81049-20120313155804.patch</filename>
            <type>text/plain</type>
            <size>3683</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTg5YjhjOWI4N2VlZDhk
YmQ3YjAzNWUxNGJjYWRmZGYzMjRlOWM3MC4uZDQ0MjNmMGZmZGU5Y2FhN2UyZWRjZGU2OGUyODJi
Y2M1NDBlOTdhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAzLTEzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IEF1ZGlvQ29udGV4
dDo6Y3JlYXRlKCkgdG8gZW1pdCBhbiBFeGNlcHRpb25Db2RlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEwNDkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHM7IG5vIGNoYW5nZSBpbiBm
dW5jdGlvbmFsaXR5LgorCisgICAgICAgIFBhc3MgdGhyb3VnaCBhbiBFeGNlcHRpb25Db2RlIHBh
cmFtZXRlciB0byBBdWRpb0NvbnRleHQ6OmNyZWF0ZSgpLiAgSXQgaXMgY3VycmVudGx5CisgICAg
ICAgIG5ldmVyIG1vZGlmaWVkLCBidXQgZXhjZXB0aW9ucyB3aWxsIGJlIGFkZGVkIGluIHRoZSBm
dXR1cmUuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU0F1ZGlvQ29udGV4dENvbnN0cnVjdG9yOjpjb25zdHJ1Y3RK
U0F1ZGlvQ29udGV4dCk6CisgICAgICAgICogd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29udGV4dDo6Y3JlYXRlKToKKyAgICAgICAgKiB3ZWJhdWRp
by9BdWRpb0NvbnRleHQuaDoKKwogMjAxMi0wMS0xNiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFw
cGxlLmNvbT4KIAogICAgICAgICBXZWJBdWRpbzogT3B0aW1pemUgQXVkaW9CdXM6OmNyZWF0ZUJ5
TWl4aW5nVG9Nb25vKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
QXVkaW9Db250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVk
aW9Db250ZXh0Q3VzdG9tLmNwcAppbmRleCA2NGU0NGU2M2Y3MWM2M2Q1ODM2NjkxNTFhMGYyYTQ0
MDc5NWM4MzMzLi43ZTY4M2EyNjdiMmQ2ZTFjNGI2YzA3OGY0ZGQ2N2YyOTEwYzI3NzU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBdWRpb0NvbnRleHRDdXN0b20u
Y3BwCkBAIC02OCw3ICs2OCwxMiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTQXVk
aW9Db250ZXh0Q29uc3RydWN0b3I6OmNvbnN0cnVjdEpTQXVkaW9Db250ZXh0KAogICAgIAogICAg
IGlmICghZXhlYy0+YXJndW1lbnRDb3VudCgpKSB7CiAgICAgICAgIC8vIENvbnN0cnVjdG9yIGZv
ciBkZWZhdWx0IEF1ZGlvQ29udGV4dCB3aGljaCB0YWxrcyB0byBhdWRpbyBoYXJkd2FyZS4KLSAg
ICAgICAgYXVkaW9Db250ZXh0ID0gQXVkaW9Db250ZXh0OjpjcmVhdGUoZG9jdW1lbnQpOworICAg
ICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICAgICAgYXVkaW9Db250ZXh0ID0gQXVkaW9D
b250ZXh0OjpjcmVhdGUoZG9jdW1lbnQsIGVjKTsKKyAgICAgICAgaWYgKGVjKSB7CisgICAgICAg
ICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOworICAgICAgICAgICAgcmV0dXJuIHRocm93
Vk1FcnJvcihleGVjLCBjcmVhdGVTeW50YXhFcnJvcihleGVjLCAiRXJyb3IgY3JlYXRpbmcgQXVk
aW9Db250ZXh0IikpOworICAgICAgICB9CiAgICAgICAgIGlmICghYXVkaW9Db250ZXh0LmdldCgp
KQogICAgICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVTeW50YXhFcnJv
cihleGVjLCAiYXVkaW8gcmVzb3VyY2VzIHVuYXZhaWxhYmxlIGZvciBBdWRpb0NvbnRleHQgY29u
c3RydWN0aW9uIikpOwogICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmNwcAppbmRleCA1ZjQ5MDVhM2JkM2I0MTIzYzAwZWFkNTg5M2RjZTkwZDAwYzZmZGQ4
Li40Yjk4MGRiNWNiZjFiYzNkYTBlYmY5OTI4ZmY4MTM0MjA1YTg0MzBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAgLTk2LDggKzk2LDEwIEBAIGJvb2wgaXNT
YW1wbGVSYXRlUmFuZ2VHb29kKGZsb2F0IHNhbXBsZVJhdGUpCiBjb25zdCB1bnNpZ25lZCBNYXhI
YXJkd2FyZUNvbnRleHRzID0gNDsKIHVuc2lnbmVkIEF1ZGlvQ29udGV4dDo6c19oYXJkd2FyZUNv
bnRleHRDb3VudCA9IDA7CiAgICAgCi1QYXNzUmVmUHRyPEF1ZGlvQ29udGV4dD4gQXVkaW9Db250
ZXh0OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQorUGFzc1JlZlB0cjxBdWRpb0NvbnRleHQ+
IEF1ZGlvQ29udGV4dDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYg
ZWMpCiB7CisgICAgVU5VU0VEX1BBUkFNKGVjKTsKKwogICAgIEFTU0VSVChkb2N1bWVudCk7CiAg
ICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBpZiAoc19oYXJkd2FyZUNvbnRleHRDb3Vu
dCA+PSBNYXhIYXJkd2FyZUNvbnRleHRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0NvbnRl
eHQuaAppbmRleCBiNDJhMDc1ZjJhNjk2ODcxNDAxMzY0NTZmNTJiNDdjYjA3MWE4MWVlLi4xY2Ni
NGFkMzY3MWIwZGZjYmM2ZTc3OTBkMDQyMmIxODg5M2Y2YjEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJh
dWRpby9BdWRpb0NvbnRleHQuaApAQCAtNzIsNyArNzIsNyBAQCBjbGFzcyBKYXZhU2NyaXB0QXVk
aW9Ob2RlOwogY2xhc3MgQXVkaW9Db250ZXh0IDogcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVi
bGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEF1ZGlvQ29udGV4dD4sIHB1YmxpYyBFdmVudFRhcmdl
dCB7CiBwdWJsaWM6CiAgICAgLy8gQ3JlYXRlIGFuIEF1ZGlvQ29udGV4dCBmb3IgcmVuZGVyaW5n
IHRvIHRoZSBhdWRpbyBoYXJkd2FyZS4KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdWRpb0NvbnRl
eHQ+IGNyZWF0ZShEb2N1bWVudCopOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPEF1ZGlvQ29udGV4
dD4gY3JlYXRlKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgLy8gQ3JlYXRlIGFu
IEF1ZGlvQ29udGV4dCBmb3Igb2ZmbGluZSAobm9uLXJlYWx0aW1lKSByZW5kZXJpbmcuCiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8QXVkaW9Db250ZXh0PiBjcmVhdGVPZmZsaW5lQ29udGV4dChEb2N1
bWVudCosIHVuc2lnbmVkIG51bWJlck9mQ2hhbm5lbHMsIHNpemVfdCBudW1iZXJPZkZyYW1lcywg
ZmxvYXQgc2FtcGxlUmF0ZSwgRXhjZXB0aW9uQ29kZSYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132219</attachid>
            <date>2012-03-16 00:27:17 -0700</date>
            <delta_ts>2012-03-16 09:50:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81049-20120316002715.patch</filename>
            <type>text/plain</type>
            <size>4731</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwOTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQzYmNkNzU5NmZhN2Jm
MTVkMGFlOTFlYWM4NDUwYzM1Yzc3Yjc4ZC4uNTQ5ZjJjNWVjMWRhZDMwMzM0ZmJmZjg0NzEwY2Zl
NjQyNTZjNTQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAzLTE2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IEF1ZGlvQ29udGV4
dDo6Y3JlYXRlKCkgdG8gZW1pdCBhbiBFeGNlcHRpb25Db2RlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEwNDkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHM7IG5vIGNoYW5nZSBpbiBm
dW5jdGlvbmFsaXR5LgorCisgICAgICAgIFBhc3MgdGhyb3VnaCBhbiBFeGNlcHRpb25Db2RlIHBh
cmFtZXRlciB0byBBdWRpb0NvbnRleHQ6OmNyZWF0ZSgpLiAgSXQgaXMgY3VycmVudGx5CisgICAg
ICAgIG5ldmVyIG1vZGlmaWVkLCBidXQgZXhjZXB0aW9ucyB3aWxsIGJlIGFkZGVkIGluIHRoZSBm
dXR1cmUuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU0F1ZGlvQ29udGV4dENvbnN0cnVjdG9yOjpjb25zdHJ1Y3RK
U0F1ZGlvQ29udGV4dCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250
ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4QXVkaW9Db250ZXh0Ojpjb25zdHJ1
Y3RvckNhbGxiYWNrKToKKyAgICAgICAgKiB3ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9Db250ZXh0OjpjcmVhdGUpOgorICAgICAgICAqIHdlYmF1ZGlv
L0F1ZGlvQ29udGV4dC5oOgorCiAyMDEyLTAxLTE2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgogCiAgICAgICAgIFdlYkF1ZGlvOiBPcHRpbWl6ZSBBdWRpb0J1czo6Y3JlYXRlQnlN
aXhpbmdUb01vbm8oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNB
dWRpb0NvbnRleHRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBdWRp
b0NvbnRleHRDdXN0b20uY3BwCmluZGV4IDY0ZTQ0ZTYzZjcxYzYzZDU4MzY2OTE1MWEwZjJhNDQw
Nzk1YzgzMzMuLjdlNjgzYTI2N2IyZDZlMWM0YjZjMDc4ZjRkZDY3ZjI5MTBjMjc3NTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5j
cHAKQEAgLTY4LDcgKzY4LDEyIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNBdWRp
b0NvbnRleHRDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNBdWRpb0NvbnRleHQoCiAgICAgCiAgICAg
aWYgKCFleGVjLT5hcmd1bWVudENvdW50KCkpIHsKICAgICAgICAgLy8gQ29uc3RydWN0b3IgZm9y
IGRlZmF1bHQgQXVkaW9Db250ZXh0IHdoaWNoIHRhbGtzIHRvIGF1ZGlvIGhhcmR3YXJlLgotICAg
ICAgICBhdWRpb0NvbnRleHQgPSBBdWRpb0NvbnRleHQ6OmNyZWF0ZShkb2N1bWVudCk7CisgICAg
ICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgICAgICBhdWRpb0NvbnRleHQgPSBBdWRpb0Nv
bnRleHQ6OmNyZWF0ZShkb2N1bWVudCwgZWMpOworICAgICAgICBpZiAoZWMpIHsKKyAgICAgICAg
ICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dW
TUVycm9yKGV4ZWMsIGNyZWF0ZVN5bnRheEVycm9yKGV4ZWMsICJFcnJvciBjcmVhdGluZyBBdWRp
b0NvbnRleHQiKSk7CisgICAgICAgIH0KICAgICAgICAgaWYgKCFhdWRpb0NvbnRleHQuZ2V0KCkp
CiAgICAgICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZVN5bnRheEVycm9y
KGV4ZWMsICJhdWRpbyByZXNvdXJjZXMgdW5hdmFpbGFibGUgZm9yIEF1ZGlvQ29udGV4dCBjb25z
dHJ1Y3Rpb24iKSk7CiAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEF1ZGlvQ29udGV4dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBdWRpb0NvbnRleHRDdXN0b20uY3BwCmluZGV4IDQ5YWY5
MzFkNTY2MDZlNzVlY2FmZWJhY2U4ZjA5ZDcxM2E3N2ZkNzAuLjY3MDM1NTEwOWQ1ZjhiNGZiNGJj
ODgwMjczMDNlYTJmOWQwNjNjMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEF1ZGlvQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250ZXh0Q3VzdG9tLmNwcApAQCAtNjEsNyArNjEs
MTAgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4QXVkaW9Db250ZXh0Ojpjb25zdHJ1Y3RvckNh
bGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGEKICAgICAKICAgICBpZiAoIWFyZ3MuTGVuZ3Ro
KCkpIHsKICAgICAgICAgLy8gQ29uc3RydWN0b3IgZm9yIGRlZmF1bHQgQXVkaW9Db250ZXh0IHdo
aWNoIHRhbGtzIHRvIGF1ZGlvIGhhcmR3YXJlLgotICAgICAgICBhdWRpb0NvbnRleHQgPSBBdWRp
b0NvbnRleHQ6OmNyZWF0ZShkb2N1bWVudCk7CisgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAw
OworICAgICAgICBhdWRpb0NvbnRleHQgPSBBdWRpb0NvbnRleHQ6OmNyZWF0ZShkb2N1bWVudCwg
ZWMpOworICAgICAgICBpZiAoZWMpCisgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlYyk7
CiAgICAgICAgIGlmICghYXVkaW9Db250ZXh0LmdldCgpKQogICAgICAgICAgICAgcmV0dXJuIHRo
cm93RXJyb3IoImF1ZGlvIHJlc291cmNlcyB1bmF2YWlsYWJsZSBmb3IgQXVkaW9Db250ZXh0IGNv
bnN0cnVjdGlvbiIsIFY4UHJveHk6OlN5bnRheEVycm9yKTsKICAgICB9IGVsc2UgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKaW5kZXggNWY0OTA1YTNiZDNiNDEyM2Mw
MGVhZDU4OTNkY2U5MGQwMGM2ZmRkOC4uNGI5ODBkYjVjYmYxYmMzZGEwZWJmOTkyOGZmODEzNDIw
NWE4NDMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9Db250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCkBAIC05
Niw4ICs5NiwxMCBAQCBib29sIGlzU2FtcGxlUmF0ZVJhbmdlR29vZChmbG9hdCBzYW1wbGVSYXRl
KQogY29uc3QgdW5zaWduZWQgTWF4SGFyZHdhcmVDb250ZXh0cyA9IDQ7CiB1bnNpZ25lZCBBdWRp
b0NvbnRleHQ6OnNfaGFyZHdhcmVDb250ZXh0Q291bnQgPSAwOwogICAgIAotUGFzc1JlZlB0cjxB
dWRpb0NvbnRleHQ+IEF1ZGlvQ29udGV4dDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKK1Bh
c3NSZWZQdHI8QXVkaW9Db250ZXh0PiBBdWRpb0NvbnRleHQ6OmNyZWF0ZShEb2N1bWVudCogZG9j
dW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogeworICAgIFVOVVNFRF9QQVJBTShlYyk7CisKICAg
ICBBU1NFUlQoZG9jdW1lbnQpOwogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgaWYg
KHNfaGFyZHdhcmVDb250ZXh0Q291bnQgPj0gTWF4SGFyZHdhcmVDb250ZXh0cykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oIGIvU291cmNlL1dlYkNv
cmUvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKaW5kZXggYjQyYTA3NWYyYTY5Njg3MTQwMTM2NDU2
ZjUyYjQ3Y2IwNzFhODFlZS4uMWNjYjRhZDM2NzFiMGRmY2JjNmU3NzkwZDA0MjJiMTg4OTNmNmIx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKQEAgLTcyLDcgKzcyLDcg
QEAgY2xhc3MgSmF2YVNjcmlwdEF1ZGlvTm9kZTsKIGNsYXNzIEF1ZGlvQ29udGV4dCA6IHB1Ymxp
YyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxBdWRpb0NvbnRl
eHQ+LCBwdWJsaWMgRXZlbnRUYXJnZXQgewogcHVibGljOgogICAgIC8vIENyZWF0ZSBhbiBBdWRp
b0NvbnRleHQgZm9yIHJlbmRlcmluZyB0byB0aGUgYXVkaW8gaGFyZHdhcmUuCi0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8QXVkaW9Db250ZXh0PiBjcmVhdGUoRG9jdW1lbnQqKTsKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxBdWRpb0NvbnRleHQ+IGNyZWF0ZShEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUm
KTsKIAogICAgIC8vIENyZWF0ZSBhbiBBdWRpb0NvbnRleHQgZm9yIG9mZmxpbmUgKG5vbi1yZWFs
dGltZSkgcmVuZGVyaW5nLgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEF1ZGlvQ29udGV4dD4gY3Jl
YXRlT2ZmbGluZUNvbnRleHQoRG9jdW1lbnQqLCB1bnNpZ25lZCBudW1iZXJPZkNoYW5uZWxzLCBz
aXplX3QgbnVtYmVyT2ZGcmFtZXMsIGZsb2F0IHNhbXBsZVJhdGUsIEV4Y2VwdGlvbkNvZGUmKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132304</attachid>
            <date>2012-03-16 09:50:45 -0700</date>
            <delta_ts>2012-03-16 09:51:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81049-20120316095044.patch</filename>
            <type>text/plain</type>
            <size>4723</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwOTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWZiODQ0ZGUzZjIwNzU2
ODVlYzYyY2E5MDBiNTljN2YxMTRkZDg3MC4uM2MyMWMwMzVjMjg1MWViNDkxZWU4NGU3ZjE5NDUy
YWU3MzU3MmE0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAzLTE2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IEF1ZGlvQ29udGV4
dDo6Y3JlYXRlKCkgdG8gZW1pdCBhbiBFeGNlcHRpb25Db2RlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEwNDkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHM7IG5vIGNoYW5nZSBpbiBm
dW5jdGlvbmFsaXR5LgorCisgICAgICAgIFBhc3MgdGhyb3VnaCBhbiBFeGNlcHRpb25Db2RlIHBh
cmFtZXRlciB0byBBdWRpb0NvbnRleHQ6OmNyZWF0ZSgpLiAgSXQgaXMgY3VycmVudGx5CisgICAg
ICAgIG5ldmVyIG1vZGlmaWVkLCBidXQgZXhjZXB0aW9ucyB3aWxsIGJlIGFkZGVkIGluIHRoZSBm
dXR1cmUuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU0F1ZGlvQ29udGV4dENvbnN0cnVjdG9yOjpjb25zdHJ1Y3RK
U0F1ZGlvQ29udGV4dCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250
ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4QXVkaW9Db250ZXh0Ojpjb25zdHJ1
Y3RvckNhbGxiYWNrKToKKyAgICAgICAgKiB3ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9Db250ZXh0OjpjcmVhdGUpOgorICAgICAgICAqIHdlYmF1ZGlv
L0F1ZGlvQ29udGV4dC5oOgorCiAyMDEyLTAzLTE1ICBEYW5hIEphbnNlbnMgIDxkYW5ha2pAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gTW92ZSBvdmVyZHJhdyBtZXRyaWNzIGlu
dG8gYSB0ZW1wbGF0ZWQgY2xhc3MgZm9yIGJvdGggcGFpbnQgYW5kIGRyYXcgbWV0cmljcy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9t
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNw
cAppbmRleCA2NGU0NGU2M2Y3MWM2M2Q1ODM2NjkxNTFhMGYyYTQ0MDc5NWM4MzMzLi5jYmViNTE0
NWE1NDQ2MDY5NmY4OThjMzcyNmMyMDg2Mjg0MWNjMTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNBdWRpb0NvbnRleHRDdXN0b20uY3BwCkBAIC02OCw3ICs2OCwx
MiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTQXVkaW9Db250ZXh0Q29uc3RydWN0
b3I6OmNvbnN0cnVjdEpTQXVkaW9Db250ZXh0KAogICAgIAogICAgIGlmICghZXhlYy0+YXJndW1l
bnRDb3VudCgpKSB7CiAgICAgICAgIC8vIENvbnN0cnVjdG9yIGZvciBkZWZhdWx0IEF1ZGlvQ29u
dGV4dCB3aGljaCB0YWxrcyB0byBhdWRpbyBoYXJkd2FyZS4KLSAgICAgICAgYXVkaW9Db250ZXh0
ID0gQXVkaW9Db250ZXh0OjpjcmVhdGUoZG9jdW1lbnQpOworICAgICAgICBFeGNlcHRpb25Db2Rl
IGVjID0gMDsKKyAgICAgICAgYXVkaW9Db250ZXh0ID0gQXVkaW9Db250ZXh0OjpjcmVhdGUoZG9j
dW1lbnQsIGVjKTsKKyAgICAgICAgaWYgKGVjKSB7CisgICAgICAgICAgICBzZXRET01FeGNlcHRp
b24oZXhlYywgZWMpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU1ZhbHVl
KCkpOworICAgICAgICB9CiAgICAgICAgIGlmICghYXVkaW9Db250ZXh0LmdldCgpKQogICAgICAg
ICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVTeW50YXhFcnJvcihleGVjLCAi
YXVkaW8gcmVzb3VyY2VzIHVuYXZhaWxhYmxlIGZvciBBdWRpb0NvbnRleHQgY29uc3RydWN0aW9u
IikpOwogICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhBdWRpb0NvbnRleHRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250ZXh0Q3VzdG9tLmNwcAppbmRleCA0OWFmOTMxZDU2NjA2
ZTc1ZWNhZmViYWNlOGYwOWQ3MTNhNzdmZDcwLi42NzAzNTUxMDlkNWY4YjRmYjRiYzg4MDI3MzAz
ZWEyZjlkMDYzYzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhBdWRpb0NvbnRleHRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEF1ZGlvQ29udGV4dEN1c3RvbS5jcHAKQEAgLTYxLDcgKzYxLDEwIEBAIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBWOEF1ZGlvQ29udGV4dDo6Y29uc3RydWN0b3JDYWxsYmFjayhj
b25zdCB2ODo6QXJndW1lbnRzJiBhCiAgICAgCiAgICAgaWYgKCFhcmdzLkxlbmd0aCgpKSB7CiAg
ICAgICAgIC8vIENvbnN0cnVjdG9yIGZvciBkZWZhdWx0IEF1ZGlvQ29udGV4dCB3aGljaCB0YWxr
cyB0byBhdWRpbyBoYXJkd2FyZS4KLSAgICAgICAgYXVkaW9Db250ZXh0ID0gQXVkaW9Db250ZXh0
OjpjcmVhdGUoZG9jdW1lbnQpOworICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICAg
ICAgYXVkaW9Db250ZXh0ID0gQXVkaW9Db250ZXh0OjpjcmVhdGUoZG9jdW1lbnQsIGVjKTsKKyAg
ICAgICAgaWYgKGVjKQorICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZWMpOwogICAgICAg
ICBpZiAoIWF1ZGlvQ29udGV4dC5nZXQoKSkKICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9y
KCJhdWRpbyByZXNvdXJjZXMgdW5hdmFpbGFibGUgZm9yIEF1ZGlvQ29udGV4dCBjb25zdHJ1Y3Rp
b24iLCBWOFByb3h5OjpTeW50YXhFcnJvcik7CiAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmluZGV4IDVmNDkwNWEzYmQzYjQxMjNjMDBlYWQ1ODkz
ZGNlOTBkMDBjNmZkZDguLjRiOTgwZGI1Y2JmMWJjM2RhMGViZjk5MjhmZjgxMzQyMDVhODQzMGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcApAQCAtOTYsOCArOTYs
MTAgQEAgYm9vbCBpc1NhbXBsZVJhdGVSYW5nZUdvb2QoZmxvYXQgc2FtcGxlUmF0ZSkKIGNvbnN0
IHVuc2lnbmVkIE1heEhhcmR3YXJlQ29udGV4dHMgPSA0OwogdW5zaWduZWQgQXVkaW9Db250ZXh0
OjpzX2hhcmR3YXJlQ29udGV4dENvdW50ID0gMDsKICAgICAKLVBhc3NSZWZQdHI8QXVkaW9Db250
ZXh0PiBBdWRpb0NvbnRleHQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpCitQYXNzUmVmUHRy
PEF1ZGlvQ29udGV4dD4gQXVkaW9Db250ZXh0OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBF
eGNlcHRpb25Db2RlJiBlYykKIHsKKyAgICBVTlVTRURfUEFSQU0oZWMpOworCiAgICAgQVNTRVJU
KGRvY3VtZW50KTsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIGlmIChzX2hhcmR3
YXJlQ29udGV4dENvdW50ID49IE1heEhhcmR3YXJlQ29udGV4dHMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1
ZGlvL0F1ZGlvQ29udGV4dC5oCmluZGV4IGI0MmEwNzVmMmE2OTY4NzE0MDEzNjQ1NmY1MmI0N2Ni
MDcxYTgxZWUuLjFjY2I0YWQzNjcxYjBkZmNiYzZlNzc5MGQwNDIyYjE4ODkzZjZiMTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCkBAIC03Miw3ICs3Miw3IEBAIGNsYXNz
IEphdmFTY3JpcHRBdWRpb05vZGU7CiBjbGFzcyBBdWRpb0NvbnRleHQgOiBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0LCBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QXVkaW9Db250ZXh0PiwgcHVi
bGljIEV2ZW50VGFyZ2V0IHsKIHB1YmxpYzoKICAgICAvLyBDcmVhdGUgYW4gQXVkaW9Db250ZXh0
IGZvciByZW5kZXJpbmcgdG8gdGhlIGF1ZGlvIGhhcmR3YXJlLgotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEF1ZGlvQ29udGV4dD4gY3JlYXRlKERvY3VtZW50Kik7CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8QXVkaW9Db250ZXh0PiBjcmVhdGUoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJik7CiAKICAg
ICAvLyBDcmVhdGUgYW4gQXVkaW9Db250ZXh0IGZvciBvZmZsaW5lIChub24tcmVhbHRpbWUpIHJl
bmRlcmluZy4KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdWRpb0NvbnRleHQ+IGNyZWF0ZU9mZmxp
bmVDb250ZXh0KERvY3VtZW50KiwgdW5zaWduZWQgbnVtYmVyT2ZDaGFubmVscywgc2l6ZV90IG51
bWJlck9mRnJhbWVzLCBmbG9hdCBzYW1wbGVSYXRlLCBFeGNlcHRpb25Db2RlJik7Cg==
</data>
<flag name="review"
          id="135926"
          type_id="1"
          status="+"
          setter="haraken"
    />
          </attachment>
      

    </bug>

</bugzilla>