<?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>88696</bug_id>
          
          <creation_ts>2012-06-08 18:29:16 -0700</creation_ts>
          <short_desc>FileAPI: type should be converted to be lower case in Blob constructor.</short_desc>
          <delta_ts>2012-06-13 05:41:45 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Li Yin">li.yin</reporter>
          <assigned_to name="Li Yin">li.yin</assigned_to>
          <cc>abarth</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>jianli</cc>
    
    <cc>jochen</cc>
    
    <cc>kinuko</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>645181</commentid>
    <comment_count>0</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-08 18:29:16 -0700</bug_when>
    <thetext>From Spec: http://dev.w3.org/2006/webapi/FileAPI/#dfn-BlobPropertyBag

If the optional BlobPropertyBag dictionary is used to invoke the constructor and has a type member, then user agents MUST run the following substeps:

...

Convert every character in s to lower case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645191</commentid>
    <comment_count>1</comment_count>
      <attachid>146678</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-08 18:46:22 -0700</bug_when>
    <thetext>Created attachment 146678
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645206</commentid>
    <comment_count>2</comment_count>
      <attachid>146678</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-08 19:14:31 -0700</bug_when>
    <thetext>Comment on attachment 146678
Patch

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

&gt; LayoutTests/ChangeLog:9
&gt; +        Spec: http://dev.w3.org/2006/webapi/FileAPI/#dfn-BlobPropertyBag
&gt; +        Add sub-test to track changing upper case into lower case of type in Blob constructor.

I think the spec description might be ambiguous, and I am not sure if we should make this change. IMHO, &quot;Create a Blob with type=&apos;CamelCase&apos;, then blob.type will return &apos;camelcase&apos;&quot; sounds strange compared to other constructor behaviors.

The spec says as follows:

    6. If the optional BlobPropertyBag dictionary is used to invoke the constructor and has a type member, then user agents MUST run the following substeps:

        ...
        2. Convert every character in s to lower case.
        3. Parse s as an RFC2616 media-type, tokenizing it according to the ABNF for media-type, ...

    7. ... otherwise, set this Blob object&apos;s type to s.

If we read the spec naively, &quot;CamelCase&quot; should be converted to &quot;camelcase&quot;, and then &quot;camelcase&quot; should be set to type. However, ---although this is just my personal opinion---, the spec might be intending the following interpretation:

    6. If the optional BlobPropertyBag dictionary is used to invoke the constructor and has a type member, then user agents MUST run the following substeps:

        ...
        2. Convert every character in s to lower case.
        3. Parse ***the lower-cased string*** as an RFC2616 media-type, tokenizing it according to the ABNF for media-type, ...

    7. ... otherwise, set this Blob object&apos;s type to s.

In this case, the lower-case conversion is just for obtaining the media-type, and s is still &quot;CamelCase&quot;. IMHO, this behavior sounds more reasonable to me.

(Correct me if I&apos;m wrong. If you would have the same idea, you can file a spec bug to clarify the intention of the spec.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645220</commentid>
    <comment_count>3</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-08 19:54:52 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 146678 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=146678&amp;action=review
&gt; 
&gt; &gt; LayoutTests/ChangeLog:9
&gt; &gt; +        Spec: http://dev.w3.org/2006/webapi/FileAPI/#dfn-BlobPropertyBag
&gt; &gt; +        Add sub-test to track changing upper case into lower case of type in Blob constructor.
&gt; 
&gt; I think the spec description might be ambiguous, and I am not sure if we should make this change. IMHO, &quot;Create a Blob with type=&apos;CamelCase&apos;, then blob.type will return &apos;camelcase&apos;&quot; sounds strange compared to other constructor behaviors.

Maybe I think the spec means the type should not be case-sensitive.
That is to say, we use {type: &quot;CamelCase&quot;} or {type: &quot;camelcase&quot;} will get the same result. (This is just my understanding)

Thanks for your comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645221</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-08 20:04:53 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Maybe I think the spec means the type should not be case-sensitive.
&gt; That is to say, we use {type: &quot;CamelCase&quot;} or {type: &quot;camelcase&quot;} will get the same result. (This is just my understanding)

I agree that the type should be case-unsensitive, but maybe the type attribute should keep the original value that JS specified. Specifically, my (personal) expectation is:

new Blob([], {type: &quot;text/html&quot;});   // Recognized as &quot;text/html&quot;
new Blob([], {type: &quot;Text/Html&quot;});   // Recognized as &quot;text/html&quot;
new Blob([], {type: &quot;text/html&quot;}).type;   // &quot;text/html&quot;
new Blob([], {type: &quot;Text/Html&quot;}).type;   // &quot;Text/Html&quot;
new Blob([], {type: &quot;text/html; charset=UTF-8&quot;}).type;   // &quot;text/html; charset=UTF-8&quot;

It seems a bit strange to me if the result is &quot;text/html; charset=utf-8&quot;.(http://www.w3.org/TR/FileAPI/#enctype)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645226</commentid>
    <comment_count>5</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-08 20:21:24 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; Maybe I think the spec means the type should not be case-sensitive.
&gt; &gt; That is to say, we use {type: &quot;CamelCase&quot;} or {type: &quot;camelcase&quot;} will get the same result. (This is just my understanding)
&gt; 
&gt; I agree that the type should be case-unsensitive, but maybe the type attribute should keep the original value that JS specified. Specifically, my (personal) expectation is:
&gt; 
&gt; new Blob([], {type: &quot;text/html&quot;});   // Recognized as &quot;text/html&quot;
&gt; new Blob([], {type: &quot;Text/Html&quot;});   // Recognized as &quot;text/html&quot;
&gt; new Blob([], {type: &quot;text/html&quot;}).type;   // &quot;text/html&quot;
&gt; new Blob([], {type: &quot;Text/Html&quot;}).type;   // &quot;Text/Html&quot;
&gt; new Blob([], {type: &quot;text/html; charset=UTF-8&quot;}).type;   // &quot;text/html; charset=UTF-8&quot;
&gt; 
&gt; It seems a bit strange to me if the result is &quot;text/html; charset=utf-8&quot;.(http://www.w3.org/TR/FileAPI/#enctype)

Okay, the spec seems unclear for this behavior.
Let me file a bug in w3c bugzilla.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645227</commentid>
    <comment_count>6</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-08 20:44:03 -0700</bug_when>
    <thetext>I filed a bug in W3C bugzilla.
https://www.w3.org/Bugs/Public/show_bug.cgi?id=17449</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647654</commentid>
    <comment_count>7</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-12 21:34:39 -0700</bug_when>
    <thetext>From Spec: http://dev.w3.org/2006/webapi/FileAPI/#attributes-blob
The ASCII-encoded string in lower case representing the media type of the Blob.

It explicitly specified the type should be lower case.
That is to say, it is a webkit bug, we still need to fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647656</commentid>
    <comment_count>8</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-12 21:37:05 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; From Spec: http://dev.w3.org/2006/webapi/FileAPI/#attributes-blob
&gt; The ASCII-encoded string in lower case representing the media type of the Blob.
&gt; 
&gt; It explicitly specified the type should be lower case.
&gt; That is to say, it is a webkit bug, we still need to fix it.

Thank you very much for the clarification. Then the latest patch looks OK to me.

kinuko-san: Would you take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647657</commentid>
    <comment_count>9</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-12 21:41:28 -0700</bug_when>
    <thetext>I need to redesign the test.
Please wait for my update.
Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647673</commentid>
    <comment_count>10</comment_count>
      <attachid>147225</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-12 22:01:43 -0700</bug_when>
    <thetext>Created attachment 147225
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647675</commentid>
    <comment_count>11</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-12 22:09:08 -0700</bug_when>
    <thetext>Update the test case, use the correct media-type format.
Would you please have a check again?
Thanks in advance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647679</commentid>
    <comment_count>12</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-12 22:13:35 -0700</bug_when>
    <thetext>LGTM.

kinuko-san: review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647692</commentid>
    <comment_count>13</comment_count>
      <attachid>147225</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-12 22:31:06 -0700</bug_when>
    <thetext>Comment on attachment 147225
Patch

LGTM too. Thanks for fixing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647944</commentid>
    <comment_count>14</comment_count>
      <attachid>147225</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-13 05:41:40 -0700</bug_when>
    <thetext>Comment on attachment 147225
Patch

Clearing flags on attachment: 147225

Committed r120191: &lt;http://trac.webkit.org/changeset/120191&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647945</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-13 05:41:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146678</attachid>
            <date>2012-06-08 18:46:22 -0700</date>
            <delta_ts>2012-06-12 22:01:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88696-20120610094945.patch</filename>
            <type>text/plain</type>
            <size>4791</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5ODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg5ZjAwZWZmMGU3NDk4
ZDQ2MDQxMTJjMzY2MDJmOTg3OTVjYWU4Ny4uN2I3NzNiOTJiZTM1NDBkOTRlM2UxYjBmNjcxYTli
M2RmYjVhNDYzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA2LTA5ICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIEZpbGVBUEk6IHR5cGUgc2hvdWxkIGJl
IGNvbnZlcnRlZCB0byBiZSBsb3dlciBjYXNlIGluIEJsb2IgY29uc3RydWN0b3IuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODY5NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwZWM6IGh0dHA6Ly9kZXYu
dzMub3JnLzIwMDYvd2ViYXBpL0ZpbGVBUEkvI2Rmbi1CbG9iUHJvcGVydHlCYWcKKworICAgICAg
ICBUZXN0OiBmYXN0L2ZpbGVzL2Jsb2ItY29uc3RydWN0b3IuaHRtbAorCisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNCbG9iQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQmxvYkNvbnN0
cnVjdG9yOjpjb25zdHJ1Y3RKU0Jsb2IpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OEJsb2JDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhCbG9iOjpjb25zdHJ1Y3RvckNh
bGxiYWNrKToKKwogMjAxMi0wNi0wOCAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFtGb3Jtc10gRHJvcCBTdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFs
UGxhY2VzT3JNaXNzaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0Jsb2JDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCbG9iQ3VzdG9t
LmNwcAppbmRleCBlNDE1ZmY1ODdmZmVkMmQ5ODliOTMzNWIwM2ZhNDIzMmU3NDRiODBmLi5iMDJk
NTg2NTE5MTJjN2QxNzU3ZTdlMzljMDVlMmUzYTkyZDA2ZmM2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Jsb2JDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQmxvYkN1c3RvbS5jcHAKQEAgLTEwNiw2ICsxMDYsNyBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTQmxvYkNvbnN0cnVjdG9yOjpjb25zdHJ1Y3RKU0Jsb2Io
RXhlY1N0YXRlKiBleGVjKQogICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKTsKICAgICAgICAgaWYgKCF0eXBlLmNvbnRhaW5zT25seUFTQ0lJKCkpCiAgICAg
ICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZVN5bnRheEVycm9yKGV4ZWMs
ICJ0eXBlIG11c3QgY29uc2lzdCBvZiBBU0NJSSBjaGFyYWN0ZXJzIikpOworICAgICAgICB0eXBl
Lm1ha2VMb3dlcigpOwogICAgIH0KIAogICAgIEFTU0VSVChlbmRpbmdzID09ICJ0cmFuc3BhcmVu
dCIgfHwgZW5kaW5ncyA9PSAibmF0aXZlIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhCbG9iQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEJsb2JDdXN0b20uY3BwCmluZGV4IDJkYmRjNWVmNDgwNTg2YmJmNjBj
MTg3NjEwY2NjOTE1MDM0MTY4NGUuLmJhYzNiMGYyMDk1NGU5MDkzMDA5NmZiNTU3Y2ZlZmJiNzM3
MGMyODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEJs
b2JDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEJs
b2JDdXN0b20uY3BwCkBAIC0xMDUsNiArMTA1LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4
QmxvYjo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAg
ICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IodHJ5Q2F0Y2hUeXBlLkV4Y2VwdGlvbigpLCBhcmdz
LkdldElzb2xhdGUoKSk7CiAgICAgICAgIGlmICghdHlwZS5jb250YWluc09ubHlBU0NJSSgpKQog
ICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6U3ludGF4RXJy
b3IsICJ0eXBlIG11c3QgY29uc2lzdCBvZiBBU0NJSSBjaGFyYWN0ZXJzIiwgYXJncy5HZXRJc29s
YXRlKCkpOworICAgICAgICB0eXBlLm1ha2VMb3dlcigpOwogICAgIH0KIAogICAgIEFTU0VSVChl
bmRpbmdzID09ICJ0cmFuc3BhcmVudCIgfHwgZW5kaW5ncyA9PSAibmF0aXZlIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ZjlhM2EyMmQxMTNhN2U5NjBkMGZjNGQyYTJiYjY5ZjE1MjYzYjM5Yi4uMzNlMmMzZTIyMGUwNWIz
YjQzNThlNzViZWFlZGIzM2IxYWQ2ZmE3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA2
LTA5ICBMaSBZaW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIEZpbGVBUEk6IHR5cGUg
c2hvdWxkIGJlIGNvbnZlcnRlZCB0byBiZSBsb3dlciBjYXNlIGluIEJsb2IgY29uc3RydWN0b3Iu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODY5Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwZWM6IGh0
dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL0ZpbGVBUEkvI2Rmbi1CbG9iUHJvcGVydHlCYWcK
KyAgICAgICAgQWRkIHN1Yi10ZXN0IHRvIHRyYWNrIGNoYW5naW5nIHVwcGVyIGNhc2UgaW50byBs
b3dlciBjYXNlIG9mIHR5cGUgaW4gQmxvYiBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIGZhc3Qv
ZmlsZXMvYmxvYi1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9maWxl
cy9zY3JpcHQtdGVzdHMvYmxvYi1jb25zdHJ1Y3Rvci5qczoKKwogMjAxMi0wNi0wOCAgWm9sdGFu
IEFydmFpICA8emFydmFpQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBbUXRdIFVucmV2aWV3
ZWQgZ2FyZGVuaW5nLiBTa2lwIHRlc3RzIHVzaW5nIGRpc2FibGVkIFNIQURPV19ET00gZmVhdHVy
ZSBvbiBRdC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvYmxvYi1jb25zdHJ1
Y3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Jsb2ItY29uc3RydWN0
b3ItZXhwZWN0ZWQudHh0CmluZGV4IGNmNzQ2ODMzNmRjZGRiMjJlMmEwNDJjNzJjYTUzMzFkYjA1
YWY0NzIuLjYyOWI4OGMwZjZkODRmMDkxZTg2MmU2YjIxNTJmZDQwOTM4YTNmODMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvYmxvYi1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9ibG9iLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4
dApAQCAtNDEsNiArNDEsNyBAQCBQQVNTIChuZXcgQmxvYihbXSwgW10pKSBpbnN0YW5jZW9mIHdp
bmRvdy5CbG9iIGlzIHRydWUKIFBBU1MgKG5ldyBCbG9iKFtdLCAvYWJjLykpIGluc3RhbmNlb2Yg
d2luZG93LkJsb2IgaXMgdHJ1ZQogUEFTUyAobmV3IEJsb2IoW10sIGZ1bmN0aW9uICgpIHt9KSkg
aW5zdGFuY2VvZiB3aW5kb3cuQmxvYiBpcyB0cnVlCiBQQVNTIChuZXcgQmxvYihbXSwge3R5cGU6
J3RleHQvaHRtbCd9KSkudHlwZSBpcyAndGV4dC9odG1sJworUEFTUyAobmV3IEJsb2IoW10sIHt0
eXBlOidDaGFuZ2VUb0xvd2VyJ30pKS50eXBlIGlzICdjaGFuZ2V0b2xvd2VyJwogUEFTUyAobmV3
IEJsb2IoW10sIHt0eXBlOid0ZXh0L2h0bWwnfSkpLnNpemUgaXMgMAogUEFTUyB3aW5kb3cuQmxv
Yi5sZW5ndGggaXMgMgogUEFTUyBuZXcgQmxvYihbbmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZl
cigxMDApKV0pLnNpemUgaXMgMTAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
L3NjcmlwdC10ZXN0cy9ibG9iLWNvbnN0cnVjdG9yLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxl
cy9zY3JpcHQtdGVzdHMvYmxvYi1jb25zdHJ1Y3Rvci5qcwppbmRleCA0MDYwMjRjMTc1ZTNlYmFj
MGJmNzE4MTExNDcyMmIyYTRhN2Y2MDg0Li4wM2U2YWYxZDI5MGJjZWVmNzQyMWEzN2RkNjhhNDlk
ODVkNTcyMjg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3NjcmlwdC10ZXN0
cy9ibG9iLWNvbnN0cnVjdG9yLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvc2NyaXB0
LXRlc3RzL2Jsb2ItY29uc3RydWN0b3IuanMKQEAgLTU5LDYgKzU5LDcgQEAgc2hvdWxkQmVUcnVl
KCIobmV3IEJsb2IoW10sIGZ1bmN0aW9uICgpIHt9KSkgaW5zdGFuY2VvZiB3aW5kb3cuQmxvYiIp
OwogCiAvLyBUZXN0IHRoYXQgdGhlIHR5cGUvc2l6ZSBpcyBjb3JyZWN0bHkgYWRkZWQgdG8gdGhl
IEJsb2IKIHNob3VsZEJlKCIobmV3IEJsb2IoW10sIHt0eXBlOid0ZXh0L2h0bWwnfSkpLnR5cGUi
LCAiJ3RleHQvaHRtbCciKTsKK3Nob3VsZEJlKCIobmV3IEJsb2IoW10sIHt0eXBlOidDaGFuZ2VU
b0xvd2VyJ30pKS50eXBlIiwgIidjaGFuZ2V0b2xvd2VyJyIpOwogc2hvdWxkQmUoIihuZXcgQmxv
YihbXSwge3R5cGU6J3RleHQvaHRtbCd9KSkuc2l6ZSIsICIwIik7CiAKIC8vIE9kZHMgYW5kIGVu
ZHMK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147225</attachid>
            <date>2012-06-12 22:01:43 -0700</date>
            <delta_ts>2012-06-13 05:41:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88696-20120614130513.patch</filename>
            <type>text/plain</type>
            <size>5024</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5ODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg5ZjAwZWZmMGU3NDk4
ZDQ2MDQxMTJjMzY2MDJmOTg3OTVjYWU4Ny4uNmE5YzU2MmQzNDI5OTM1MzM2NjkzMjFlZjdkMjE3
NTI3YWNkZDA1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA2LTEzICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIEZpbGVBUEk6IHR5cGUgc2hvdWxkIGJl
IGNvbnZlcnRlZCB0byBiZSBsb3dlciBjYXNlIGluIEJsb2IgY29uc3RydWN0b3IuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODY5NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwZWM6IGh0dHA6Ly9kZXYu
dzMub3JnLzIwMDYvd2ViYXBpL0ZpbGVBUEkvI2Rmbi1CbG9iUHJvcGVydHlCYWcKKyAgICAgICAg
U3BlYzogaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvRmlsZUFQSS8jYXR0cmlidXRlcy1i
bG9iCisgICAgICAgIFRoZSBBU0NJSS1lbmNvZGVkIHN0cmluZyBpbiBsb3dlciBjYXNlIHJlcHJl
c2VudGluZyB0aGUgbWVkaWEgdHlwZSBvZiB0aGUgQmxvYi4KKworICAgICAgICBUZXN0OiBmYXN0
L2ZpbGVzL2Jsb2ItY29uc3RydWN0b3IuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvSlNC
bG9iQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQmxvYkNvbnN0cnVjdG9yOjpjb25z
dHJ1Y3RKU0Jsb2IpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEJsb2JDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhCbG9iOjpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKwog
MjAxMi0wNi0wOCAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFtGb3Jtc10gRHJvcCBTdGVwUmFuZ2U6Ok51bWJlcldpdGhEZWNpbWFsUGxhY2VzT3JNaXNz
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Jsb2JDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCbG9iQ3VzdG9tLmNwcAppbmRleCBl
NDE1ZmY1ODdmZmVkMmQ5ODliOTMzNWIwM2ZhNDIzMmU3NDRiODBmLi5iMDJkNTg2NTE5MTJjN2Qx
NzU3ZTdlMzljMDVlMmUzYTkyZDA2ZmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0Jsb2JDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQmxvYkN1c3RvbS5jcHAKQEAgLTEwNiw2ICsxMDYsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIEpTQmxvYkNvbnN0cnVjdG9yOjpjb25zdHJ1Y3RKU0Jsb2IoRXhlY1N0YXRlKiBl
eGVjKQogICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsK
ICAgICAgICAgaWYgKCF0eXBlLmNvbnRhaW5zT25seUFTQ0lJKCkpCiAgICAgICAgICAgICByZXR1
cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZVN5bnRheEVycm9yKGV4ZWMsICJ0eXBlIG11c3Qg
Y29uc2lzdCBvZiBBU0NJSSBjaGFyYWN0ZXJzIikpOworICAgICAgICB0eXBlLm1ha2VMb3dlcigp
OwogICAgIH0KIAogICAgIEFTU0VSVChlbmRpbmdzID09ICJ0cmFuc3BhcmVudCIgfHwgZW5kaW5n
cyA9PSAibmF0aXZlIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhCbG9iQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEJsb2JDdXN0b20uY3BwCmluZGV4IDJkYmRjNWVmNDgwNTg2YmJmNjBjMTg3NjEwY2NjOTE1
MDM0MTY4NGUuLmJhYzNiMGYyMDk1NGU5MDkzMDA5NmZiNTU3Y2ZlZmJiNzM3MGMyODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEJsb2JDdXN0b20uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEJsb2JDdXN0b20uY3Bw
CkBAIC0xMDUsNiArMTA1LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4QmxvYjo6Y29uc3Ry
dWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgICAgICAgICAgcmV0
dXJuIHRocm93RXJyb3IodHJ5Q2F0Y2hUeXBlLkV4Y2VwdGlvbigpLCBhcmdzLkdldElzb2xhdGUo
KSk7CiAgICAgICAgIGlmICghdHlwZS5jb250YWluc09ubHlBU0NJSSgpKQogICAgICAgICAgICAg
cmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6U3ludGF4RXJyb3IsICJ0eXBlIG11
c3QgY29uc2lzdCBvZiBBU0NJSSBjaGFyYWN0ZXJzIiwgYXJncy5HZXRJc29sYXRlKCkpOworICAg
ICAgICB0eXBlLm1ha2VMb3dlcigpOwogICAgIH0KIAogICAgIEFTU0VSVChlbmRpbmdzID09ICJ0
cmFuc3BhcmVudCIgfHwgZW5kaW5ncyA9PSAibmF0aXZlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjlhM2EyMmQxMTNh
N2U5NjBkMGZjNGQyYTJiYjY5ZjE1MjYzYjM5Yi4uM2I1ODk0NzZjYjI4MjczMGQ2Yjg2ZjdmZDgx
NGRiNDk5ODE4ZmQ4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA2LTEzICBMaSBZaW4g
IDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIEZpbGVBUEk6IHR5cGUgc2hvdWxkIGJlIGNv
bnZlcnRlZCB0byBiZSBsb3dlciBjYXNlIGluIEJsb2IgY29uc3RydWN0b3IuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODY5NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwZWM6IGh0dHA6Ly9kZXYudzMu
b3JnLzIwMDYvd2ViYXBpL0ZpbGVBUEkvI2Rmbi1CbG9iUHJvcGVydHlCYWcKKyAgICAgICAgQWRk
IHN1Yi10ZXN0IHRvIHRyYWNrIGNoYW5naW5nIHVwcGVyIGNhc2UgaW50byBsb3dlciBjYXNlIG9m
IHR5cGUgaW4gQmxvYiBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIGZhc3QvZmlsZXMvYmxvYi1j
b25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9maWxlcy9zY3JpcHQtdGVz
dHMvYmxvYi1jb25zdHJ1Y3Rvci5qczoKKwogMjAxMi0wNi0wOCAgWm9sdGFuIEFydmFpICA8emFy
dmFpQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBbUXRdIFVucmV2aWV3ZWQgZ2FyZGVuaW5n
LiBTa2lwIHRlc3RzIHVzaW5nIGRpc2FibGVkIFNIQURPV19ET00gZmVhdHVyZSBvbiBRdC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvYmxvYi1jb25zdHJ1Y3Rvci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Jsb2ItY29uc3RydWN0b3ItZXhwZWN0ZWQu
dHh0CmluZGV4IGNmNzQ2ODMzNmRjZGRiMjJlMmEwNDJjNzJjYTUzMzFkYjA1YWY0NzIuLjMyNjE2
MGNiOGZmNGZmMDYzYTkxZjAxZTZjYTIwYTlhNDBmY2ZiZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXMvYmxvYi1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9maWxlcy9ibG9iLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApAQCAtNDIsNiAr
NDIsNyBAQCBQQVNTIChuZXcgQmxvYihbXSwgL2FiYy8pKSBpbnN0YW5jZW9mIHdpbmRvdy5CbG9i
IGlzIHRydWUKIFBBU1MgKG5ldyBCbG9iKFtdLCBmdW5jdGlvbiAoKSB7fSkpIGluc3RhbmNlb2Yg
d2luZG93LkJsb2IgaXMgdHJ1ZQogUEFTUyAobmV3IEJsb2IoW10sIHt0eXBlOid0ZXh0L2h0bWwn
fSkpLnR5cGUgaXMgJ3RleHQvaHRtbCcKIFBBU1MgKG5ldyBCbG9iKFtdLCB7dHlwZTondGV4dC9o
dG1sJ30pKS5zaXplIGlzIDAKK1BBU1MgKG5ldyBCbG9iKFtdLCB7dHlwZTondGV4dC9wbGFpbjtj
aGFyc2V0PVVURi04J30pKS50eXBlIGlzICd0ZXh0L3BsYWluO2NoYXJzZXQ9dXRmLTgnCiBQQVNT
IHdpbmRvdy5CbG9iLmxlbmd0aCBpcyAyCiBQQVNTIG5ldyBCbG9iKFtuZXcgRGF0YVZpZXcobmV3
IEFycmF5QnVmZmVyKDEwMCkpXSkuc2l6ZSBpcyAxMDAKIFBBU1MgbmV3IEJsb2IoW25ldyBVaW50
OEFycmF5KDEwMCldKS5zaXplIGlzIDEwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlcy9zY3JpcHQtdGVzdHMvYmxvYi1jb25zdHJ1Y3Rvci5qcyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXMvc2NyaXB0LXRlc3RzL2Jsb2ItY29uc3RydWN0b3IuanMKaW5kZXggNDA2MDI0YzE3NWUz
ZWJhYzBiZjcxODExMTQ3MjJiMmE0YTdmNjA4NC4uYjM5OGVlNDBhMTFkOTMzYzZhMDkxNmRlMTg5
OGM5OGRjYzY4NjdhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9zY3JpcHQt
dGVzdHMvYmxvYi1jb25zdHJ1Y3Rvci5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3Nj
cmlwdC10ZXN0cy9ibG9iLWNvbnN0cnVjdG9yLmpzCkBAIC02MCw2ICs2MCw3IEBAIHNob3VsZEJl
VHJ1ZSgiKG5ldyBCbG9iKFtdLCBmdW5jdGlvbiAoKSB7fSkpIGluc3RhbmNlb2Ygd2luZG93LkJs
b2IiKTsKIC8vIFRlc3QgdGhhdCB0aGUgdHlwZS9zaXplIGlzIGNvcnJlY3RseSBhZGRlZCB0byB0
aGUgQmxvYgogc2hvdWxkQmUoIihuZXcgQmxvYihbXSwge3R5cGU6J3RleHQvaHRtbCd9KSkudHlw
ZSIsICIndGV4dC9odG1sJyIpOwogc2hvdWxkQmUoIihuZXcgQmxvYihbXSwge3R5cGU6J3RleHQv
aHRtbCd9KSkuc2l6ZSIsICIwIik7CitzaG91bGRCZSgiKG5ldyBCbG9iKFtdLCB7dHlwZTondGV4
dC9wbGFpbjtjaGFyc2V0PVVURi04J30pKS50eXBlIiwgIid0ZXh0L3BsYWluO2NoYXJzZXQ9dXRm
LTgnIik7CiAKIC8vIE9kZHMgYW5kIGVuZHMKIHNob3VsZEJlKCJ3aW5kb3cuQmxvYi5sZW5ndGgi
LCAiMiIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>