<?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>85818</bug_id>
          
          <creation_ts>2012-05-07 12:50:06 -0700</creation_ts>
          <short_desc>JavaScriptAudioNode should not ASSERT if number of input channels is 0</short_desc>
          <delta_ts>2012-05-08 16:23:25 -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>Web Audio</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>
          
          <blocked>84743</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Raymond Toy">rtoy</reporter>
          <assigned_to name="Raymond Toy">rtoy</assigned_to>
          <cc>crogers</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>617839</commentid>
    <comment_count>0</comment_count>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-05-07 12:50:06 -0700</bug_when>
    <thetext>It is valid to have 0 input channels for a JavaScriptAudioNode, so we shouldn&apos;t ASSERT in that case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617945</commentid>
    <comment_count>1</comment_count>
      <attachid>140592</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-05-07 14:23:44 -0700</bug_when>
    <thetext>Created attachment 140592
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618138</commentid>
    <comment_count>2</comment_count>
      <attachid>140592</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-05-07 17:17:15 -0700</bug_when>
    <thetext>Comment on attachment 140592
Patch

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

Hi Ray, thanks very much for the fix and layout test.  Just a few nits:

&gt; LayoutTests/webaudio/javascriptaudionode-zero-input-channels.html:7
&gt; +&lt;title&gt;JavaScriptAudioNode&lt;/title&gt;

&lt;title&gt; line should be removed

&gt; LayoutTests/webaudio/javascriptaudionode-zero-input-channels.html:35
&gt; +    var context = new webkitAudioContext(1, 44100, 44100);

Best not to use hard-coded values here, and instead use the exact same pattern as the other JavaScriptAudioNode tests such as &quot;javascriptaudionode.html&quot;

&gt; LayoutTests/webaudio/javascriptaudionode-zero-input-channels.html:36
&gt; +    var node = context.createJavaScriptNode(4096, 0, 2);

Please put this creation in a try/catch block to check for exceptions here

&gt; LayoutTests/webaudio/javascriptaudionode-zero-input-channels.html:40
&gt; +

Please add short comment explaining that the onaudioprocess function is doing nothing since we simply want to make sure that the processing logic in the implementation can handle 0 input channels and don&apos;t care about doing any processing.
You might want to add a FIXME explaining that we could check the .inputBuffer attribute of the AudioProcessingEvent appropriately (don&apos;t need to add that part right now).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618664</commentid>
    <comment_count>3</comment_count>
      <attachid>140753</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-05-08 11:44:14 -0700</bug_when>
    <thetext>Created attachment 140753
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618668</commentid>
    <comment_count>4</comment_count>
      <attachid>140592</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-05-08 11:46:03 -0700</bug_when>
    <thetext>Comment on attachment 140592
Patch

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

&gt;&gt; LayoutTests/webaudio/javascriptaudionode-zero-input-channels.html:7
&gt;&gt; +&lt;title&gt;JavaScriptAudioNode&lt;/title&gt;
&gt; 
&gt; &lt;title&gt; line should be removed

Done.

&gt;&gt; LayoutTests/webaudio/javascriptaudionode-zero-input-channels.html:35
&gt;&gt; +    var context = new webkitAudioContext(1, 44100, 44100);
&gt; 
&gt; Best not to use hard-coded values here, and instead use the exact same pattern as the other JavaScriptAudioNode tests such as &quot;javascriptaudionode.html&quot;

Done.

&gt;&gt; LayoutTests/webaudio/javascriptaudionode-zero-input-channels.html:40
&gt;&gt; +
&gt; 
&gt; Please add short comment explaining that the onaudioprocess function is doing nothing since we simply want to make sure that the processing logic in the implementation can handle 0 input channels and don&apos;t care about doing any processing.
&gt; You might want to add a FIXME explaining that we could check the .inputBuffer attribute of the AudioProcessingEvent appropriately (don&apos;t need to add that part right now).

Comment and FIXME added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618916</commentid>
    <comment_count>5</comment_count>
      <attachid>140753</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-05-08 16:14:07 -0700</bug_when>
    <thetext>Comment on attachment 140753
Patch

Seems reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618925</commentid>
    <comment_count>6</comment_count>
      <attachid>140753</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-08 16:23:20 -0700</bug_when>
    <thetext>Comment on attachment 140753
Patch

Clearing flags on attachment: 140753

Committed r116465: &lt;http://trac.webkit.org/changeset/116465&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618926</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-08 16:23:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140592</attachid>
            <date>2012-05-07 14:23:44 -0700</date>
            <delta_ts>2012-05-08 11:46:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85818-20120507142343.patch</filename>
            <type>text/plain</type>
            <size>6228</size>
            <attacher name="Raymond Toy">rtoy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2Mjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI3MzZkMTEwOWRjNjNh
NjlmNzVhYWEwZWVjNjI5YzdkMTFhMDUyMS4uNzcxZTk2ZmY1MjQ2NjI0MTdiY2E4YThhZGQyZDNl
NDNkNzNmZDgyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTA3ICBSYXlt
b25kIFRveSAgPHJ0b3lAZ29vZ2xlLmNvbT4KKworICAgICAgICBKYXZhU2NyaXB0QXVkaW9Ob2Rl
IHNob3VsZCBub3QgQVNTRVJUIGlmIG51bWJlciBvZiBpbnB1dCBjaGFubmVscyBpcyAwCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTgxOAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IHdlYmF1ZGlv
L2phdmFzY3JpcHRhdWRpb25vZGUtemVyby1pbnB1dC1jaGFubmVscy5odG1sCisKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL0phdmFTY3JpcHRBdWRpb05vZGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SmF2YVNjcmlwdEF1ZGlvTm9kZTo6cHJvY2Vzcyk6IEFkanVzdCBidWZmZXJBcmVHb29k
IHNvCisgICAgICAgIGlucHV0QnVmZmVyIGlzIG5vdCBjaGVja2VkIGlmIG51bWJlciBvZiBpbnB1
dCBjaGFubmVscyBpcyAwLgorICAgICAgICAoV2ViQ29yZTo6SmF2YVNjcmlwdEF1ZGlvTm9kZTo6
ZmlyZVByb2Nlc3NFdmVudCk6IFJlbW92ZSBhc3NlcnQKKyAgICAgICAgZm9yIGlucHV0QnVmZmVy
LgorCiAyMDEyLTA1LTA3ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgQnVpbGRmaXggZm9yIGJ1Z2d5IEdDQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9KYXZhU2NyaXB0QXVkaW9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vSmF2YVNjcmlwdEF1ZGlvTm9kZS5jcHAKaW5kZXggN2Y1NDFk
NWEzMTZmNTM1ZTFmNmUwYTI4YzVmMDA1NzQ2YzRmMWViYy4uYTZlYjYwMTQ2OTJlN2ZkOGM0ZGRh
NjQ3YTI4ZDQzZmMzNTZlNmE5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9KYXZhU2NyaXB0QXVkaW9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0phdmFTY3JpcHRBdWRpb05vZGUuY3BwCkBAIC0xNTEsOCArMTUxLDEzIEBA
IHZvaWQgSmF2YVNjcmlwdEF1ZGlvTm9kZTo6cHJvY2VzcyhzaXplX3QgZnJhbWVzVG9Qcm9jZXNz
KQogICAgIEF1ZGlvQnVmZmVyKiBvdXRwdXRCdWZmZXIgPSBtX291dHB1dEJ1ZmZlcnNbZG91Ymxl
QnVmZmVySW5kZXhdLmdldCgpOwogCiAgICAgLy8gQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGlu
cHV0IGFuZCBvdXRwdXQgYnVmZmVycy4KLSAgICBib29sIGJ1ZmZlcnNBcmVHb29kID0gaW5wdXRC
dWZmZXIgJiYgb3V0cHV0QnVmZmVyICYmIGJ1ZmZlclNpemUoKSA9PSBpbnB1dEJ1ZmZlci0+bGVu
Z3RoKCkgJiYgYnVmZmVyU2l6ZSgpID09IG91dHB1dEJ1ZmZlci0+bGVuZ3RoKCkKLSAgICAgICAg
JiYgbV9idWZmZXJSZWFkV3JpdGVJbmRleCArIGZyYW1lc1RvUHJvY2VzcyA8PSBidWZmZXJTaXpl
KCk7CisgICAgdW5zaWduZWQgbnVtYmVyT2ZJbnB1dENoYW5uZWxzID0gbV9pbnRlcm5hbElucHV0
QnVzLm51bWJlck9mQ2hhbm5lbHMoKTsKKyAgICBib29sIGJ1ZmZlcnNBcmVHb29kID0gb3V0cHV0
QnVmZmVyICYmIGJ1ZmZlclNpemUoKSA9PSBvdXRwdXRCdWZmZXItPmxlbmd0aCgpICYmIG1fYnVm
ZmVyUmVhZFdyaXRlSW5kZXggKyBmcmFtZXNUb1Byb2Nlc3MgPD0gYnVmZmVyU2l6ZSgpOworCisg
ICAgLy8gSWYgdGhlIG51bWJlciBvZiBpbnB1dCBjaGFubmVscyBpcyB6ZXJvLCBpdCdzIG9rIHRv
IGhhdmUgaW5wdXRCdWZmZXIgPSAwLgorICAgIGlmIChtX2ludGVybmFsSW5wdXRCdXMubnVtYmVy
T2ZDaGFubmVscygpKQorICAgICAgICBidWZmZXJzQXJlR29vZCA9IGJ1ZmZlcnNBcmVHb29kICYm
IGlucHV0QnVmZmVyICYmIGJ1ZmZlclNpemUoKSA9PSBpbnB1dEJ1ZmZlci0+bGVuZ3RoKCk7CisK
ICAgICBBU1NFUlQoYnVmZmVyc0FyZUdvb2QpOwogICAgIGlmICghYnVmZmVyc0FyZUdvb2QpCiAg
ICAgICAgIHJldHVybjsKQEAgLTE2Myw3ICsxNjgsNiBAQCB2b2lkIEphdmFTY3JpcHRBdWRpb05v
ZGU6OnByb2Nlc3Moc2l6ZV90IGZyYW1lc1RvUHJvY2VzcykKICAgICBpZiAoIWlzRnJhbWVzVG9Q
cm9jZXNzR29vZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdW5zaWduZWQgbnVtYmVyT2ZJbnB1
dENoYW5uZWxzID0gbV9pbnRlcm5hbElucHV0QnVzLm51bWJlck9mQ2hhbm5lbHMoKTsKICAgICB1
bnNpZ25lZCBudW1iZXJPZk91dHB1dENoYW5uZWxzID0gb3V0cHV0QnVzLT5udW1iZXJPZkNoYW5u
ZWxzKCk7CiAKICAgICBib29sIGNoYW5uZWxzQXJlR29vZCA9IChudW1iZXJPZklucHV0Q2hhbm5l
bHMgPT0gbV9udW1iZXJPZklucHV0Q2hhbm5lbHMpICYmIChudW1iZXJPZk91dHB1dENoYW5uZWxz
ID09IG1fbnVtYmVyT2ZPdXRwdXRDaGFubmVscyk7CkBAIC0yMzEsOCArMjM1LDggQEAgdm9pZCBK
YXZhU2NyaXB0QXVkaW9Ob2RlOjpmaXJlUHJvY2Vzc0V2ZW50KCkKICAgICAgICAgCiAgICAgQXVk
aW9CdWZmZXIqIGlucHV0QnVmZmVyID0gbV9pbnB1dEJ1ZmZlcnNbbV9kb3VibGVCdWZmZXJJbmRl
eEZvckV2ZW50XS5nZXQoKTsKICAgICBBdWRpb0J1ZmZlciogb3V0cHV0QnVmZmVyID0gbV9vdXRw
dXRCdWZmZXJzW21fZG91YmxlQnVmZmVySW5kZXhGb3JFdmVudF0uZ2V0KCk7Ci0gICAgQVNTRVJU
KGlucHV0QnVmZmVyICYmIG91dHB1dEJ1ZmZlcik7Ci0gICAgaWYgKCFpbnB1dEJ1ZmZlciB8fCAh
b3V0cHV0QnVmZmVyKQorICAgIEFTU0VSVChvdXRwdXRCdWZmZXIpOworICAgIGlmICghb3V0cHV0
QnVmZmVyKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBBdm9pZCBmaXJpbmcgdGhlIGV2ZW50
IGlmIHRoZSBkb2N1bWVudCBoYXMgYWxyZWFkeSBnb25lIGF3YXkuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzkwOWEyODNj
ZjFjNTk4NjdmMGRiZTFkYzg2MWEwNzdhNmE4M2Y1ZC4uZjRiZTYxYmMyODY2OWI1ZTQzYzNhZmJh
YWU4NWY2MmNlYzBhODViNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA1LTA3ICBSYXlt
b25kIFRveSAgPHJ0b3lAZ29vZ2xlLmNvbT4KKworICAgICAgICBKYXZhU2NyaXB0QXVkaW9Ob2Rl
IHNob3VsZCBub3QgQVNTRVJUIGlmIG51bWJlciBvZiBpbnB1dCBjaGFubmVscyBpcyAwCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTgxOAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViYXVkaW8vamF2
YXNjcmlwdGF1ZGlvbm9kZS16ZXJvLWlucHV0LWNoYW5uZWxzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViYXVkaW8vamF2YXNjcmlwdGF1ZGlvbm9kZS16ZXJvLWlucHV0LWNoYW5u
ZWxzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA1LTA3ICBEb21pbmlrIFLDtnR0c2NoZXMgIDxkb21p
bmlrLnJvdHRzY2hlc0BsaW51eC5pbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF1bRFJUXSBHYXJk
ZW5pbmcgY3VycmVudCBJTUFHRSBmYWlsdXJlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
YXVkaW8vamF2YXNjcmlwdGF1ZGlvbm9kZS16ZXJvLWlucHV0LWNoYW5uZWxzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2phdmFzY3JpcHRhdWRpb25vZGUtemVyby1pbnB1dC1j
aGFubmVscy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg3NTk4ZTQ3ZDE0Mjk5ZmQzNzY1NGZk
NzI5ZmY1ZmYwMzg2ZjgxZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlv
L2phdmFzY3JpcHRhdWRpb25vZGUtemVyby1pbnB1dC1jaGFubmVscy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw5IEBACitUZXN0cyB0aGF0IEphdmFTY3JpcHRBdWRpb05vZGUgYWNjZXB0cyAwIGlu
cHV0IGNoYW5uZWxzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgSmF2YVNj
cmlwdEF1ZGlvTm9kZSBhY2NlcHRzIDAgaW5wdXQgY2hhbm5lbHMuCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViYXVkaW8vamF2YXNjcmlwdGF1ZGlvbm9kZS16ZXJvLWlucHV0LWNoYW5uZWxzLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJhdWRpby9qYXZhc2NyaXB0YXVkaW9ub2RlLXplcm8taW5wdXQtY2hh
bm5lbHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjA5NTcyYTJlODMzYzRjMWM5YzM3ZDA4MjZmZjViYTQ5
NGQzMTc5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vamF2YXNjcmlw
dGF1ZGlvbm9kZS16ZXJvLWlucHV0LWNoYW5uZWxzLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9hdWRpby10ZXN0aW5nLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8dGl0bGU+SmF2YVNjcmlwdEF1ZGlv
Tm9kZTwvdGl0bGU+Cis8L2hlYWQ+CisKKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigi
VGVzdHMgdGhhdCBKYXZhU2NyaXB0QXVkaW9Ob2RlIGFjY2VwdHMgMCBpbnB1dCBjaGFubmVscy4i
KTsKKworZnVuY3Rpb24gY2hlY2tSZXN1bHQoZSkKK3sKKyAgICB2YXIgc3VjY2VzcyA9IHRydWU7
CisKKyAgICB0ZXN0UGFzc2VkKCJKYXZhU2NyaXB0QXVkaW9Ob2RlIGFjY2VwdHMgMCBpbnB1dCBj
aGFubmVscy4iKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitmdW5jdGlvbiBydW5UZXN0
KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgIHZhciBjb250ZXh0ID0gbmV3IHdlYmtpdEF1ZGlvQ29udGV4dCgxLCA0
NDEwMCwgNDQxMDApOworICAgIHZhciBub2RlID0gY29udGV4dC5jcmVhdGVKYXZhU2NyaXB0Tm9k
ZSg0MDk2LCAwLCAyKTsKKworICAgIHZhciBzb3VyY2UgPSBjb250ZXh0LmNyZWF0ZUJ1ZmZlclNv
dXJjZSgpOworICAgIHNvdXJjZS5idWZmZXIgPSBjcmVhdGVJbXB1bHNlQnVmZmVyKGNvbnRleHQs
IDEwMCk7CisKKyAgICBub2RlLm9uYXVkaW9wcm9jZXNzID0gZnVuY3Rpb24oZSkgeyB9OworICAg
IHNvdXJjZS5jb25uZWN0KG5vZGUpOworICAgIG5vZGUuY29ubmVjdChjb250ZXh0LmRlc3RpbmF0
aW9uKTsKKyAgICBzb3VyY2Uubm90ZU9uKDApOworCisgICAgY29udGV4dC5vbmNvbXBsZXRlID0g
Y2hlY2tSZXN1bHQ7CisgICAgY29udGV4dC5zdGFydFJlbmRlcmluZygpOworfQorCitydW5UZXN0
KCk7CitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisgICAgCis8c2NyaXB0
IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140753</attachid>
            <date>2012-05-08 11:44:14 -0700</date>
            <delta_ts>2012-05-08 16:23:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85818-20120508114413.patch</filename>
            <type>text/plain</type>
            <size>6669</size>
            <attacher name="Raymond Toy">rtoy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2Mjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI3MzZkMTEwOWRjNjNh
NjlmNzVhYWEwZWVjNjI5YzdkMTFhMDUyMS4uOWU3NWE4ODFkMmYyNDE3NWMyZjY5ODg5ODYyOGJi
MmYxYTgxNjQyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTA4ICBSYXlt
b25kIFRveSAgPHJ0b3lAZ29vZ2xlLmNvbT4KKworICAgICAgICBKYXZhU2NyaXB0QXVkaW9Ob2Rl
IHNob3VsZCBub3QgQVNTRVJUIGlmIG51bWJlciBvZiBpbnB1dCBjaGFubmVscyBpcyAwCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTgxOAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IHdlYmF1ZGlv
L2phdmFzY3JpcHRhdWRpb25vZGUtemVyby1pbnB1dC1jaGFubmVscy5odG1sCisKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL0phdmFTY3JpcHRBdWRpb05vZGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SmF2YVNjcmlwdEF1ZGlvTm9kZTo6cHJvY2Vzcyk6IFVwZGF0ZSBidWZmZXJzQXJlR29v
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkphdmFTY3JpcHRBdWRpb05vZGU6OmZpcmVQcm9jZXNzRXZl
bnQpOiBSZW1vdmUgQVNTRVJULgorCiAyMDEyLTA1LTA3ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxv
c3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQnVpbGRmaXggZm9yIGJ1Z2d5IEdDQwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9KYXZhU2NyaXB0QXVkaW9Ob2Rl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vSmF2YVNjcmlwdEF1ZGlvTm9k
ZS5jcHAKaW5kZXggN2Y1NDFkNWEzMTZmNTM1ZTFmNmUwYTI4YzVmMDA1NzQ2YzRmMWViYy4uYTZl
YjYwMTQ2OTJlN2ZkOGM0ZGRhNjQ3YTI4ZDQzZmMzNTZlNmE5ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9KYXZhU2NyaXB0QXVkaW9Ob2RlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0phdmFTY3JpcHRBdWRpb05vZGUuY3BwCkBA
IC0xNTEsOCArMTUxLDEzIEBAIHZvaWQgSmF2YVNjcmlwdEF1ZGlvTm9kZTo6cHJvY2VzcyhzaXpl
X3QgZnJhbWVzVG9Qcm9jZXNzKQogICAgIEF1ZGlvQnVmZmVyKiBvdXRwdXRCdWZmZXIgPSBtX291
dHB1dEJ1ZmZlcnNbZG91YmxlQnVmZmVySW5kZXhdLmdldCgpOwogCiAgICAgLy8gQ2hlY2sgdGhl
IGNvbnNpc3RlbmN5IG9mIGlucHV0IGFuZCBvdXRwdXQgYnVmZmVycy4KLSAgICBib29sIGJ1ZmZl
cnNBcmVHb29kID0gaW5wdXRCdWZmZXIgJiYgb3V0cHV0QnVmZmVyICYmIGJ1ZmZlclNpemUoKSA9
PSBpbnB1dEJ1ZmZlci0+bGVuZ3RoKCkgJiYgYnVmZmVyU2l6ZSgpID09IG91dHB1dEJ1ZmZlci0+
bGVuZ3RoKCkKLSAgICAgICAgJiYgbV9idWZmZXJSZWFkV3JpdGVJbmRleCArIGZyYW1lc1RvUHJv
Y2VzcyA8PSBidWZmZXJTaXplKCk7CisgICAgdW5zaWduZWQgbnVtYmVyT2ZJbnB1dENoYW5uZWxz
ID0gbV9pbnRlcm5hbElucHV0QnVzLm51bWJlck9mQ2hhbm5lbHMoKTsKKyAgICBib29sIGJ1ZmZl
cnNBcmVHb29kID0gb3V0cHV0QnVmZmVyICYmIGJ1ZmZlclNpemUoKSA9PSBvdXRwdXRCdWZmZXIt
Pmxlbmd0aCgpICYmIG1fYnVmZmVyUmVhZFdyaXRlSW5kZXggKyBmcmFtZXNUb1Byb2Nlc3MgPD0g
YnVmZmVyU2l6ZSgpOworCisgICAgLy8gSWYgdGhlIG51bWJlciBvZiBpbnB1dCBjaGFubmVscyBp
cyB6ZXJvLCBpdCdzIG9rIHRvIGhhdmUgaW5wdXRCdWZmZXIgPSAwLgorICAgIGlmIChtX2ludGVy
bmFsSW5wdXRCdXMubnVtYmVyT2ZDaGFubmVscygpKQorICAgICAgICBidWZmZXJzQXJlR29vZCA9
IGJ1ZmZlcnNBcmVHb29kICYmIGlucHV0QnVmZmVyICYmIGJ1ZmZlclNpemUoKSA9PSBpbnB1dEJ1
ZmZlci0+bGVuZ3RoKCk7CisKICAgICBBU1NFUlQoYnVmZmVyc0FyZUdvb2QpOwogICAgIGlmICgh
YnVmZmVyc0FyZUdvb2QpCiAgICAgICAgIHJldHVybjsKQEAgLTE2Myw3ICsxNjgsNiBAQCB2b2lk
IEphdmFTY3JpcHRBdWRpb05vZGU6OnByb2Nlc3Moc2l6ZV90IGZyYW1lc1RvUHJvY2VzcykKICAg
ICBpZiAoIWlzRnJhbWVzVG9Qcm9jZXNzR29vZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdW5z
aWduZWQgbnVtYmVyT2ZJbnB1dENoYW5uZWxzID0gbV9pbnRlcm5hbElucHV0QnVzLm51bWJlck9m
Q2hhbm5lbHMoKTsKICAgICB1bnNpZ25lZCBudW1iZXJPZk91dHB1dENoYW5uZWxzID0gb3V0cHV0
QnVzLT5udW1iZXJPZkNoYW5uZWxzKCk7CiAKICAgICBib29sIGNoYW5uZWxzQXJlR29vZCA9IChu
dW1iZXJPZklucHV0Q2hhbm5lbHMgPT0gbV9udW1iZXJPZklucHV0Q2hhbm5lbHMpICYmIChudW1i
ZXJPZk91dHB1dENoYW5uZWxzID09IG1fbnVtYmVyT2ZPdXRwdXRDaGFubmVscyk7CkBAIC0yMzEs
OCArMjM1LDggQEAgdm9pZCBKYXZhU2NyaXB0QXVkaW9Ob2RlOjpmaXJlUHJvY2Vzc0V2ZW50KCkK
ICAgICAgICAgCiAgICAgQXVkaW9CdWZmZXIqIGlucHV0QnVmZmVyID0gbV9pbnB1dEJ1ZmZlcnNb
bV9kb3VibGVCdWZmZXJJbmRleEZvckV2ZW50XS5nZXQoKTsKICAgICBBdWRpb0J1ZmZlciogb3V0
cHV0QnVmZmVyID0gbV9vdXRwdXRCdWZmZXJzW21fZG91YmxlQnVmZmVySW5kZXhGb3JFdmVudF0u
Z2V0KCk7Ci0gICAgQVNTRVJUKGlucHV0QnVmZmVyICYmIG91dHB1dEJ1ZmZlcik7Ci0gICAgaWYg
KCFpbnB1dEJ1ZmZlciB8fCAhb3V0cHV0QnVmZmVyKQorICAgIEFTU0VSVChvdXRwdXRCdWZmZXIp
OworICAgIGlmICghb3V0cHV0QnVmZmVyKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBBdm9p
ZCBmaXJpbmcgdGhlIGV2ZW50IGlmIHRoZSBkb2N1bWVudCBoYXMgYWxyZWFkeSBnb25lIGF3YXku
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggYzkwOWEyODNjZjFjNTk4NjdmMGRiZTFkYzg2MWEwNzdhNmE4M2Y1ZC4uZWI5OGQ3
NTcxNDRlMGYxNTk5YWRhNjQ5YWRiMzJkOGNjMDgzY2EzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDEyLTA1LTA4ICBSYXltb25kIFRveSAgPHJ0b3lAZ29vZ2xlLmNvbT4KKworICAgICAgICBK
YXZhU2NyaXB0QXVkaW9Ob2RlIHNob3VsZCBub3QgQVNTRVJUIGlmIG51bWJlciBvZiBpbnB1dCBj
aGFubmVscyBpcyAwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04NTgxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogd2ViYXVkaW8vamF2YXNjcmlwdGF1ZGlvbm9kZS16ZXJvLWlucHV0LWNoYW5uZWxzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vamF2YXNjcmlwdGF1ZGlvbm9k
ZS16ZXJvLWlucHV0LWNoYW5uZWxzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA1LTA3ICBEb21pbmlr
IFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BsaW51eC5pbnRlbC5jb20+CiAKICAgICAg
ICAgW0VGTF1bRFJUXSBHYXJkZW5pbmcgY3VycmVudCBJTUFHRSBmYWlsdXJlcwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vamF2YXNjcmlwdGF1ZGlvbm9kZS16ZXJvLWlucHV0LWNo
YW5uZWxzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2phdmFzY3JpcHRhdWRp
b25vZGUtemVyby1pbnB1dC1jaGFubmVscy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2I4YzBj
ZDdjZTBhY2JkYmQ2MzhjNWEwMDk4ZDFiMjkxZDg0OWYxNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmF1ZGlvL2phdmFzY3JpcHRhdWRpb25vZGUtemVyby1pbnB1dC1jaGFubmVs
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdHMgdGhhdCBKYXZhU2NyaXB0QXVk
aW9Ob2RlIGFjY2VwdHMgMCBpbnB1dCBjaGFubmVscy4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIFN1Y2Nlc3NmdWxseSBjcmVhdGVkIEphdmFTY3JpcHRBdWRpb05vZGUuCitQ
QVNTIEphdmFTY3JpcHRBdWRpb05vZGUgYWNjZXB0cyAwIGlucHV0IGNoYW5uZWxzLgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmF1ZGlvL2phdmFzY3JpcHRhdWRpb25vZGUtemVyby1pbnB1dC1jaGFu
bmVscy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vamF2YXNjcmlwdGF1ZGlvbm9kZS16ZXJv
LWlucHV0LWNoYW5uZWxzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmNiOTgwNjQxOWZlNzljNzI5OWVhODc2
ODZjMDg5OGQwZWEzNWEzZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlv
L2phdmFzY3JpcHRhdWRpb25vZGUtemVyby1pbnB1dC1jaGFubmVscy5odG1sCkBAIC0wLDAgKzEs
NjkgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5z
aXRpb25hbC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvYXVkaW8tdGVzdGluZy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8
Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgSmF2YVNjcmlwdEF1ZGlv
Tm9kZSBhY2NlcHRzIDAgaW5wdXQgY2hhbm5lbHMuIik7CisKK3ZhciBzYW1wbGVSYXRlID0gNDQx
MDAuMDsKK3ZhciByZW5kZXJMZW5ndGhJbkZyYW1lcyA9IDUxMjsKK3ZhciBidWZmZXJTaXplID0g
NTEyOworCitmdW5jdGlvbiBjaGVja1Jlc3VsdChlKQoreworICAgIHRlc3RQYXNzZWQoIkphdmFT
Y3JpcHRBdWRpb05vZGUgYWNjZXB0cyAwIGlucHV0IGNoYW5uZWxzLiIpOworCisgICAgZmluaXNo
SlNUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cisg
ICAgfQorCisgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgdmFyIGNvbnRl
eHQgPSBuZXcgd2Via2l0QXVkaW9Db250ZXh0KDEsIHJlbmRlckxlbmd0aEluRnJhbWVzLCBzYW1w
bGVSYXRlKTsKKworICAgIHZhciBub2RlOworCisgICAgdHJ5IHsgIAorICAgICAgICBub2RlID0g
Y29udGV4dC5jcmVhdGVKYXZhU2NyaXB0Tm9kZShidWZmZXJTaXplLCAwLCAxKTsKKyAgICAgICAg
dGVzdFBhc3NlZCgiU3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgSmF2YVNjcmlwdEF1ZGlvTm9kZS4iKTsK
KyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIHRlc3RGYWlsZWQoIkZhaWxlZCB0byBjcmVhdGUg
SmF2YVNjcmlwdEF1ZGlvTm9kZS4iKTsKKyAgICB9CisKKyAgICB2YXIgc291cmNlID0gY29udGV4
dC5jcmVhdGVCdWZmZXJTb3VyY2UoKTsKKyAgICBzb3VyY2UuYnVmZmVyID0gY3JlYXRlSW1wdWxz
ZUJ1ZmZlcihjb250ZXh0LCBidWZmZXJTaXplKTsKKworICAgIC8vIFRoZSBvbmF1ZGlvcHJvY2Vz
cyBmdW5jdGlvbiBkb2Vzbid0IG5lZWQgdG8gZG8gYW55dGhpbmcuICBXZSBqdXN0IG5lZWQgdGhl
IHByb2Nlc3MgdG8gc3RhcnQKKyAgICAvLyB0byB0ZXN0IHRoYXQgaW1wbGVtZW50YXRpb24gYWNj
ZXB0cyAwIGlucHV0IGNoYW5uZWxzLgorICAgIC8vCisgICAgLy8gRklYTUU6IGNoZWNrIHRoZSAu
aW5wdXRCdWZmZXIgYXR0cmlidXRlIG9mIHRoZSBBdWRpb1Byb2Nlc3NpbmdFdmVudC4KKyAgICBu
b2RlLm9uYXVkaW9wcm9jZXNzID0gZnVuY3Rpb24oZSkgeyB9OworICAgIHNvdXJjZS5jb25uZWN0
KG5vZGUpOworICAgIG5vZGUuY29ubmVjdChjb250ZXh0LmRlc3RpbmF0aW9uKTsKKyAgICBzb3Vy
Y2Uubm90ZU9uKDApOworCisgICAgY29udGV4dC5vbmNvbXBsZXRlID0gY2hlY2tSZXN1bHQ7Cisg
ICAgY29udGV4dC5zdGFydFJlbmRlcmluZygpOworfQorCitydW5UZXN0KCk7CitzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisgICAgCis8c2NyaXB0IHNyYz0iLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>