<?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>59836</bug_id>
          
          <creation_ts>2011-04-29 15:04:31 -0700</creation_ts>
          <short_desc>[Mac] Need to truncate the string sent to &quot;Look Up … &quot; menu item, if it&apos;s too long.</short_desc>
          <delta_ts>2011-05-02 16:43:57 -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>Mac</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jia Pu">jiapu.mail</reporter>
          <assigned_to name="Jia Pu">jiapu.mail</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddavidso</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>395541</commentid>
    <comment_count>0</comment_count>
    <who name="Jia Pu">jiapu.mail</who>
    <bug_when>2011-04-29 15:04:31 -0700</bug_when>
    <thetext>This behavior is consistent with that in AppKit.
&lt;rdar://problem/9350317&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395545</commentid>
    <comment_count>1</comment_count>
      <attachid>91746</attachid>
    <who name="Jia Pu">jiapu.mail</who>
    <bug_when>2011-04-29 15:08:48 -0700</bug_when>
    <thetext>Created attachment 91746
Patch (v1)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395548</commentid>
    <comment_count>2</comment_count>
    <who name="Jia Pu">jiapu.mail</who>
    <bug_when>2011-04-29 15:11:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/9275983&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395551</commentid>
    <comment_count>3</comment_count>
      <attachid>91747</attachid>
    <who name="Jia Pu">jiapu.mail</who>
    <bug_when>2011-04-29 15:18:58 -0700</bug_when>
    <thetext>Created attachment 91747
Patch (v2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395559</commentid>
    <comment_count>4</comment_count>
      <attachid>91747</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-04-29 15:30:41 -0700</bug_when>
    <thetext>Comment on attachment 91747
Patch (v2)

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

&gt; Source/WebCore/platform/DefaultLocalizationStrategy.cpp:76
&gt; +    const UChar ellipsis = 0x2026;

A predefined name exists for this in WTF::Unicode: horizontalEllipsis.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395599</commentid>
    <comment_count>5</comment_count>
      <attachid>91760</attachid>
    <who name="Jia Pu">jiapu.mail</who>
    <bug_when>2011-04-29 16:06:32 -0700</bug_when>
    <thetext>Created attachment 91760
Patch (v3)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395770</commentid>
    <comment_count>6</comment_count>
      <attachid>91760</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-29 22:54:34 -0700</bug_when>
    <thetext>Comment on attachment 91760
Patch (v3)

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

Looks good. Am I right that this does work with RTL languages correctly?

&gt; Source/WebCore/platform/DefaultLocalizationStrategy.cpp:45
&gt; +using namespace WTF;
&gt; +using namespace Unicode;

This should not be necessary. Like most WTF external names, horizontalEllipsis is exported to global namespace with a using declaration already (see the bottom of CharacterNames.h).

&gt; Source/WebCore/platform/DefaultLocalizationStrategy.cpp:79
&gt; +    const unsigned maxNumberOfGraphemeClustersInLookupMenuItem = 24;

As a matter of style (which is not my favorite rule, but anyway), we don&apos;t use const with local variables, especially of POD types.

&gt; Source/WebCore/platform/DefaultLocalizationStrategy.cpp:83
&gt; +    unsigned numberOfCharacters = numCharactersInGraphemeClusters(trimmed, maxNumberOfGraphemeClustersInLookupMenuItem);

As a comment not related to your patch, this function really needs a better name.

&gt; Source/WebCore/platform/DefaultLocalizationStrategy.cpp:323
&gt; -    RetainPtr&lt;CFStringRef&gt; selectedCFString(AdoptCF, selectedString.createCFString());
&gt; +    RetainPtr&lt;CFStringRef&gt; selectedCFString(AdoptCF, truncatedStringForLookupMenuItem(selectedString).createCFString());
&gt;      return formatLocalizedString(WEB_UI_STRING(&quot;Look Up â%@â&quot;, &quot;Look Up context menu item with selected word&quot;), selectedCFString.get());

It seems that the original worked with null strings, but new code doesn&apos;t. Will this make UI process crash if the Web process crashed when asked for selected string (so, null was returned)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396404</commentid>
    <comment_count>7</comment_count>
      <attachid>91926</attachid>
    <who name="Jia Pu">jiapu.mail</who>
    <bug_when>2011-05-02 09:19:47 -0700</bug_when>
    <thetext>Created attachment 91926
Patch (v3)

Updated patch according to comment #5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396408</commentid>
    <comment_count>8</comment_count>
    <who name="Jia Pu">jiapu.mail</who>
    <bug_when>2011-05-02 09:24:45 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 91760 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=91760&amp;action=review
&gt; 
&gt; Looks good. Am I right that this does work with RTL languages correctly?

I don&apos;t think anything special need to be done here. AppKit would take care of it when draw the menu. That said, if the text doesn&apos;t match current system locale, the behavior isn&apos;t very well defined on system level.

&gt; 
&gt; As a comment not related to your patch, this function really needs a better name.
&gt; 
&gt; &gt; Source/WebCore/platform/DefaultLocalizationStrategy.cpp:323
&gt; &gt; -    RetainPtr&lt;CFStringRef&gt; selectedCFString(AdoptCF, selectedString.createCFString());
&gt; &gt; +    RetainPtr&lt;CFStringRef&gt; selectedCFString(AdoptCF, truncatedStringForLookupMenuItem(selectedString).createCFString());
&gt; &gt;      return formatLocalizedString(WEB_UI_STRING(&quot;Look Up â%@â&quot;, &quot;Look Up context menu item with selected word&quot;), selectedCFString.get());
&gt; 
&gt; It seems that the original worked with null strings, but new code doesn&apos;t. Will this make UI process crash if the Web process crashed when asked for selected string (so, null was returned)?

Added early return in truncatedStringForLookupMenuItem() if the input string() is empty.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396502</commentid>
    <comment_count>9</comment_count>
      <attachid>91926</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-05-02 11:25:17 -0700</bug_when>
    <thetext>Comment on attachment 91926
Patch (v3)

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396538</commentid>
    <comment_count>10</comment_count>
      <attachid>91926</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-02 12:12:28 -0700</bug_when>
    <thetext>Comment on attachment 91926
Patch (v3)

Rejecting attachment 91926 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-8&apos;, &apos;build&apos;...&quot; exit_code: 2

Last 500 characters of output:
/build-webkit&apos;, &apos;--debug&apos;]&quot; exit_code: 1
/mnt/git/webkit-commit-queue/WebKitBuild/WebCore.build/Debug/WebCore.build/Script-5DF50887116F3077005202AB.sh

** BUILD FAILED **


The following build commands failed:
WebCore:
	CompileC /mnt/git/webkit-commit-queue/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/x86_64/DefaultLocalizationStrategy.o /mnt/git/webkit-commit-queue/Source/WebCore/platform/DefaultLocalizationStrategy.cpp normal x86_64 c++ com.apple.compilers.gcc.4_2
(1 failure)


Full output: http://queues.webkit.org/results/8534104</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396615</commentid>
    <comment_count>11</comment_count>
      <attachid>91971</attachid>
    <who name="Jia Pu">jiapu.mail</who>
    <bug_when>2011-05-02 13:44:45 -0700</bug_when>
    <thetext>Created attachment 91971
Patch (v5)

Resolved build failure on SnowLeopard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396785</commentid>
    <comment_count>12</comment_count>
      <attachid>91971</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-02 16:43:51 -0700</bug_when>
    <thetext>Comment on attachment 91971
Patch (v5)

Clearing flags on attachment: 91971

Committed r85551: &lt;http://trac.webkit.org/changeset/85551&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396786</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-02 16:43:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91746</attachid>
            <date>2011-04-29 15:08:48 -0700</date>
            <delta_ts>2011-04-29 15:12:42 -0700</delta_ts>
            <desc>Patch (v1)</desc>
            <filename>bug-59836-20110429150845.patch</filename>
            <type>text/plain</type>
            <size>3076</size>
            <attacher name="Jia Pu">jiapu.mail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODUzMjQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiOWVmZGRhZDU5MzIyMTcz
Mjc5ODI3NGUwNTA4NDQ0NDIyZDcyOGQ1Li4xYmJmMWRkYzZkNDMyNmIxNmI2YjNkMjc5N2Q5ODc0
MzliM2JiNTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMjkgIEppYSBQ
dSAgPGpwdUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW01hY10gTmVlZCB0byB0cnVuY2F0ZSB0aGUgc3RyaW5nIHNlbnQgdG8gIkxv
b2sgVXAg4oCmICIgbWVudSBpdGVtLCBpZiBpdCdzIHRvbyBsb25nLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk4MzYKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzkzNTAzMTc+CisKKyAgICAgICAgKiBwbGF0Zm9ybS9EZWZhdWx0TG9jYWxpemF0aW9u
U3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJ1bmNhdGVkU3RyaW5nRm9yTG9va3Vw
TWVudUl0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6RGVmYXVsdExvY2FsaXphdGlvblN0cmF0ZWd5
Ojpjb250ZXh0TWVudUl0ZW1UYWdMb29rVXBJbkRpY3Rpb25hcnkpOgorCiAyMDExLTA0LTI5ICBQ
YXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBZdXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RGVmYXVsdExvY2FsaXphdGlvblN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0RlZmF1bHRMb2NhbGl6YXRpb25TdHJhdGVneS5jcHAKaW5kZXggNjMzZTFkNTNhZDRkNzM1ODc4
Y2E0ZTgwMTkxNjdiMzQ3NDE5ODllYi4uODRhZGQzM2E3YTBjNTRjZDgyZGQ2Yzk5YjVjOTY2YzQ4
MjUyY2NlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVmYXVsdExvY2Fs
aXphdGlvblN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EZWZhdWx0
TG9jYWxpemF0aW9uU3RyYXRlZ3kuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSW50
U2l6ZS5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL01h
dGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3Rm
L1VudXNlZFBhcmFtLmg+CkBAIC02OCw2ICs2OSwyMCBAQCBzdGF0aWMgU3RyaW5nIGZvcm1hdExv
Y2FsaXplZFN0cmluZyhTdHJpbmcgZm9ybWF0LCAuLi4pCiAjZW5kaWYKIH0KIAorc3RhdGljIFN0
cmluZyB0cnVuY2F0ZWRTdHJpbmdGb3JMb29rdXBNZW51SXRlbShjb25zdCBTdHJpbmcmIG9yaWdp
bmFsKQoreworICAgIC8vIFRydW5jYXRlIHRoZSBzdHJpbmcgaWYgaXQncyB0b28gbG9uZy4gVGhp
cyBpcyBpbiBjb25zaXN0ZW5jeSB3aXRoIEFwcEtpdC4KKyAgICBjb25zdCB1bnNpZ25lZCBtYXhO
dW1iZXJPZkdyYXBoZW1lQ2x1c3RlcnNJbkxvb2t1cE1lbnVJdGVtID0gMjQ7CisgICAgY29uc3Qg
VUNoYXIgZWxsaXBzaXMgPSAweDIwMjY7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcs
IGVsbGlwc2lzU3RyaW5nLCAoJmVsbGlwc2lzLCAxKSk7CisgICAgCisgICAgU3RyaW5nIHRyaW1t
ZWQgPSBvcmlnaW5hbC5zdHJpcFdoaXRlU3BhY2UoKTsKKyAgICAKKyAgICB1bnNpZ25lZCBjdXRv
ZmZJbmRleCA9IG51bUNoYXJhY3RlcnNJbkdyYXBoZW1lQ2x1c3RlcnModHJpbW1lZCwgbWF4TnVt
YmVyT2ZHcmFwaGVtZUNsdXN0ZXJzSW5Mb29rdXBNZW51SXRlbSk7IAorICAgIAorICAgIHJldHVy
biBjdXRvZmZJbmRleCA9PSB0cmltbWVkLmxlbmd0aCgpIC0gMSA/IHRyaW1tZWQgOiB0cmltbWVk
LmxlZnQoY3V0b2ZmSW5kZXgpICsgZWxsaXBzaXNTdHJpbmc7Cit9CisKIERlZmF1bHRMb2NhbGl6
YXRpb25TdHJhdGVneTo6RGVmYXVsdExvY2FsaXphdGlvblN0cmF0ZWd5KCkKIHsKIH0KQEAgLTMw
MywxMCArMzE4LDEwIEBAIFN0cmluZyBEZWZhdWx0TG9jYWxpemF0aW9uU3RyYXRlZ3k6OmNvbnRl
eHRNZW51SXRlbVRhZ0xvb2tVcEluRGljdGlvbmFyeShjb25zdCBTCiAgICAgcmV0dXJuIFdFQl9V
SV9TVFJJTkcoIkxvb2sgVXAgaW4gRGljdGlvbmFyeSIsICJMb29rIFVwIGluIERpY3Rpb25hcnkg
Y29udGV4dCBtZW51IGl0ZW0iKTsKICNlbHNlCiAjaWYgVVNFKENGKQotICAgIFJldGFpblB0cjxD
RlN0cmluZ1JlZj4gc2VsZWN0ZWRDRlN0cmluZyhBZG9wdENGLCBzZWxlY3RlZFN0cmluZy5jcmVh
dGVDRlN0cmluZygpKTsKKyAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHNlbGVjdGVkQ0ZTdHJp
bmcoQWRvcHRDRiwgdHJ1bmNhdGVkU3RyaW5nRm9yTG9va3VwTWVudUl0ZW0oc2VsZWN0ZWRTdHJp
bmcpLmNyZWF0ZUNGU3RyaW5nKCkpOwogICAgIHJldHVybiBmb3JtYXRMb2NhbGl6ZWRTdHJpbmco
V0VCX1VJX1NUUklORygiTG9vayBVcCDigJwlQOKAnSIsICJMb29rIFVwIGNvbnRleHQgbWVudSBp
dGVtIHdpdGggc2VsZWN0ZWQgd29yZCIpLCBzZWxlY3RlZENGU3RyaW5nLmdldCgpKTsKICNlbHNl
Ci0gICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoIkxvb2sgVXAg4oCcPHNlbGVjdGlvbj7igJ0iLCAi
TG9vayBVcCBjb250ZXh0IG1lbnUgaXRlbSB3aXRoIHNlbGVjdGVkIHdvcmQiKS5yZXBsYWNlKCI8
c2VsZWN0aW9uPiIsIHNlbGVjdGVkU3RyaW5nKTsKKyAgICByZXR1cm4gV0VCX1VJX1NUUklORygi
TG9vayBVcCDigJw8c2VsZWN0aW9uPuKAnSIsICJMb29rIFVwIGNvbnRleHQgbWVudSBpdGVtIHdp
dGggc2VsZWN0ZWQgd29yZCIpLnJlcGxhY2UoIjxzZWxlY3Rpb24+IiwgdHJ1bmNhdGVkU3RyaW5n
Rm9yTG9va3VwTWVudUl0ZW0oc2VsZWN0ZWRTdHJpbmcpKTsKICNlbmRpZgogI2VuZGlmCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91747</attachid>
            <date>2011-04-29 15:18:58 -0700</date>
            <delta_ts>2011-04-29 16:06:29 -0700</delta_ts>
            <desc>Patch (v2)</desc>
            <filename>bug-59836-20110429151857.patch</filename>
            <type>text/plain</type>
            <size>3093</size>
            <attacher name="Jia Pu">jiapu.mail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODUzMjQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiOWVmZGRhZDU5MzIyMTcz
Mjc5ODI3NGUwNTA4NDQ0NDIyZDcyOGQ1Li5hNGUyNzhiNjk5N2FiZDJhYmQxNjgwMGExNTE5ZDMz
NDgxZGNmOTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMjkgIEppYSBQ
dSAgPGpwdUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW01hY10gTmVlZCB0byB0cnVuY2F0ZSB0aGUgc3RyaW5nIHNlbnQgdG8gIkxv
b2sgVXAg4oCmICIgbWVudSBpdGVtLCBpZiBpdCdzIHRvbyBsb25nLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk4MzYKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzkyNzU5ODM+CisKKyAgICAgICAgKiBwbGF0Zm9ybS9EZWZhdWx0TG9jYWxpemF0aW9u
U3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJ1bmNhdGVkU3RyaW5nRm9yTG9va3Vw
TWVudUl0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6RGVmYXVsdExvY2FsaXphdGlvblN0cmF0ZWd5
Ojpjb250ZXh0TWVudUl0ZW1UYWdMb29rVXBJbkRpY3Rpb25hcnkpOgorCiAyMDExLTA0LTI5ICBQ
YXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBZdXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RGVmYXVsdExvY2FsaXphdGlvblN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0RlZmF1bHRMb2NhbGl6YXRpb25TdHJhdGVneS5jcHAKaW5kZXggNjMzZTFkNTNhZDRkNzM1ODc4
Y2E0ZTgwMTkxNjdiMzQ3NDE5ODllYi4uNmY0YjFkODIyYmIxMjgxNTcxODVhZTUyMDlkMDg4NDlk
ODg1ODgwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVmYXVsdExvY2Fs
aXphdGlvblN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EZWZhdWx0
TG9jYWxpemF0aW9uU3RyYXRlZ3kuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSW50
U2l6ZS5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL01h
dGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3Rm
L1VudXNlZFBhcmFtLmg+CkBAIC02OCw2ICs2OSwyMCBAQCBzdGF0aWMgU3RyaW5nIGZvcm1hdExv
Y2FsaXplZFN0cmluZyhTdHJpbmcgZm9ybWF0LCAuLi4pCiAjZW5kaWYKIH0KIAorc3RhdGljIFN0
cmluZyB0cnVuY2F0ZWRTdHJpbmdGb3JMb29rdXBNZW51SXRlbShjb25zdCBTdHJpbmcmIG9yaWdp
bmFsKQoreworICAgIC8vIFRydW5jYXRlIHRoZSBzdHJpbmcgaWYgaXQncyB0b28gbG9uZy4gVGhp
cyBpcyBpbiBjb25zaXN0ZW5jeSB3aXRoIEFwcEtpdC4KKyAgICBjb25zdCB1bnNpZ25lZCBtYXhO
dW1iZXJPZkdyYXBoZW1lQ2x1c3RlcnNJbkxvb2t1cE1lbnVJdGVtID0gMjQ7CisgICAgY29uc3Qg
VUNoYXIgZWxsaXBzaXMgPSAweDIwMjY7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcs
IGVsbGlwc2lzU3RyaW5nLCAoJmVsbGlwc2lzLCAxKSk7CisgICAgCisgICAgU3RyaW5nIHRyaW1t
ZWQgPSBvcmlnaW5hbC5zdHJpcFdoaXRlU3BhY2UoKTsKKyAgICAKKyAgICB1bnNpZ25lZCBudW1i
ZXJPZkNoYXJhY3RlcnMgPSBudW1DaGFyYWN0ZXJzSW5HcmFwaGVtZUNsdXN0ZXJzKHRyaW1tZWQs
IG1heE51bWJlck9mR3JhcGhlbWVDbHVzdGVyc0luTG9va3VwTWVudUl0ZW0pOyAKKyAgICAKKyAg
ICByZXR1cm4gbnVtYmVyT2ZDaGFyYWN0ZXJzID09IHRyaW1tZWQubGVuZ3RoKCkgPyB0cmltbWVk
IDogdHJpbW1lZC5sZWZ0KG51bWJlck9mQ2hhcmFjdGVycykgKyBlbGxpcHNpc1N0cmluZzsKK30K
KwogRGVmYXVsdExvY2FsaXphdGlvblN0cmF0ZWd5OjpEZWZhdWx0TG9jYWxpemF0aW9uU3RyYXRl
Z3koKQogewogfQpAQCAtMzAzLDEwICszMTgsMTAgQEAgU3RyaW5nIERlZmF1bHRMb2NhbGl6YXRp
b25TdHJhdGVneTo6Y29udGV4dE1lbnVJdGVtVGFnTG9va1VwSW5EaWN0aW9uYXJ5KGNvbnN0IFMK
ICAgICByZXR1cm4gV0VCX1VJX1NUUklORygiTG9vayBVcCBpbiBEaWN0aW9uYXJ5IiwgIkxvb2sg
VXAgaW4gRGljdGlvbmFyeSBjb250ZXh0IG1lbnUgaXRlbSIpOwogI2Vsc2UKICNpZiBVU0UoQ0Yp
Ci0gICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzZWxlY3RlZENGU3RyaW5nKEFkb3B0Q0YsIHNl
bGVjdGVkU3RyaW5nLmNyZWF0ZUNGU3RyaW5nKCkpOworICAgIFJldGFpblB0cjxDRlN0cmluZ1Jl
Zj4gc2VsZWN0ZWRDRlN0cmluZyhBZG9wdENGLCB0cnVuY2F0ZWRTdHJpbmdGb3JMb29rdXBNZW51
SXRlbShzZWxlY3RlZFN0cmluZykuY3JlYXRlQ0ZTdHJpbmcoKSk7CiAgICAgcmV0dXJuIGZvcm1h
dExvY2FsaXplZFN0cmluZyhXRUJfVUlfU1RSSU5HKCJMb29rIFVwIOKAnCVA4oCdIiwgIkxvb2sg
VXAgY29udGV4dCBtZW51IGl0ZW0gd2l0aCBzZWxlY3RlZCB3b3JkIiksIHNlbGVjdGVkQ0ZTdHJp
bmcuZ2V0KCkpOwogI2Vsc2UKLSAgICByZXR1cm4gV0VCX1VJX1NUUklORygiTG9vayBVcCDigJw8
c2VsZWN0aW9uPuKAnSIsICJMb29rIFVwIGNvbnRleHQgbWVudSBpdGVtIHdpdGggc2VsZWN0ZWQg
d29yZCIpLnJlcGxhY2UoIjxzZWxlY3Rpb24+Iiwgc2VsZWN0ZWRTdHJpbmcpOworICAgIHJldHVy
biBXRUJfVUlfU1RSSU5HKCJMb29rIFVwIOKAnDxzZWxlY3Rpb24+4oCdIiwgIkxvb2sgVXAgY29u
dGV4dCBtZW51IGl0ZW0gd2l0aCBzZWxlY3RlZCB3b3JkIikucmVwbGFjZSgiPHNlbGVjdGlvbj4i
LCB0cnVuY2F0ZWRTdHJpbmdGb3JMb29rdXBNZW51SXRlbShzZWxlY3RlZFN0cmluZykpOwogI2Vu
ZGlmCiAjZW5kaWYKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91760</attachid>
            <date>2011-04-29 16:06:32 -0700</date>
            <delta_ts>2011-05-02 09:19:44 -0700</delta_ts>
            <desc>Patch (v3)</desc>
            <filename>bug-59836-20110429160631.patch</filename>
            <type>text/plain</type>
            <size>3260</size>
            <attacher name="Jia Pu">jiapu.mail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODUzMjQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiOWVmZGRhZDU5MzIyMTcz
Mjc5ODI3NGUwNTA4NDQ0NDIyZDcyOGQ1Li5hNGUyNzhiNjk5N2FiZDJhYmQxNjgwMGExNTE5ZDMz
NDgxZGNmOTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMjkgIEppYSBQ
dSAgPGpwdUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW01hY10gTmVlZCB0byB0cnVuY2F0ZSB0aGUgc3RyaW5nIHNlbnQgdG8gIkxv
b2sgVXAg4oCmICIgbWVudSBpdGVtLCBpZiBpdCdzIHRvbyBsb25nLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk4MzYKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzkyNzU5ODM+CisKKyAgICAgICAgKiBwbGF0Zm9ybS9EZWZhdWx0TG9jYWxpemF0aW9u
U3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJ1bmNhdGVkU3RyaW5nRm9yTG9va3Vw
TWVudUl0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6RGVmYXVsdExvY2FsaXphdGlvblN0cmF0ZWd5
Ojpjb250ZXh0TWVudUl0ZW1UYWdMb29rVXBJbkRpY3Rpb25hcnkpOgorCiAyMDExLTA0LTI5ICBQ
YXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBZdXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RGVmYXVsdExvY2FsaXphdGlvblN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0RlZmF1bHRMb2NhbGl6YXRpb25TdHJhdGVneS5jcHAKaW5kZXggNjMzZTFkNTNhZDRkNzM1ODc4
Y2E0ZTgwMTkxNjdiMzQ3NDE5ODllYi4uMGQ4YWM5MDM3Mzk2OGIxODE2MThkMjE2ODNlMTQzZTc1
ZWU1MzgwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVmYXVsdExvY2Fs
aXphdGlvblN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EZWZhdWx0
TG9jYWxpemF0aW9uU3RyYXRlZ3kuY3BwCkBAIC0zMSwxNCArMzEsMTkgQEAKICNpbmNsdWRlICJJ
bnRTaXplLmgiCiAjaW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgogI2luY2x1ZGUgIk5vdElt
cGxlbWVudGVkLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYv
TWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKyNpbmNsdWRlIDx3
dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5o
PgogCiAjaWYgVVNFKENGKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNlbmRpZgogCit1
c2luZyBuYW1lc3BhY2UgV1RGOwordXNpbmcgbmFtZXNwYWNlIFVuaWNvZGU7CisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogLy8gV2UgY2FuJ3QgdXNlIFN0cmluZzo6Zm9ybWF0IGZvciB0d28gcmVh
c29uczoKQEAgLTY4LDYgKzczLDE3IEBAIHN0YXRpYyBTdHJpbmcgZm9ybWF0TG9jYWxpemVkU3Ry
aW5nKFN0cmluZyBmb3JtYXQsIC4uLikKICNlbmRpZgogfQogCitzdGF0aWMgU3RyaW5nIHRydW5j
YXRlZFN0cmluZ0Zvckxvb2t1cE1lbnVJdGVtKGNvbnN0IFN0cmluZyYgb3JpZ2luYWwpCit7Cisg
ICAgLy8gVHJ1bmNhdGUgdGhlIHN0cmluZyBpZiBpdCdzIHRvbyBsb25nLiBUaGlzIGlzIGluIGNv
bnNpc3RlbmN5IHdpdGggQXBwS2l0LgorICAgIGNvbnN0IHVuc2lnbmVkIG1heE51bWJlck9mR3Jh
cGhlbWVDbHVzdGVyc0luTG9va3VwTWVudUl0ZW0gPSAyNDsKKyAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKFN0cmluZywgZWxsaXBzaXMsICgmaG9yaXpvbnRhbEVsbGlwc2lzLCAxKSk7CisgICAgCisg
ICAgU3RyaW5nIHRyaW1tZWQgPSBvcmlnaW5hbC5zdHJpcFdoaXRlU3BhY2UoKTsKKyAgICB1bnNp
Z25lZCBudW1iZXJPZkNoYXJhY3RlcnMgPSBudW1DaGFyYWN0ZXJzSW5HcmFwaGVtZUNsdXN0ZXJz
KHRyaW1tZWQsIG1heE51bWJlck9mR3JhcGhlbWVDbHVzdGVyc0luTG9va3VwTWVudUl0ZW0pOwor
ICAgIHJldHVybiBudW1iZXJPZkNoYXJhY3RlcnMgPT0gdHJpbW1lZC5sZW5ndGgoKSA/IHRyaW1t
ZWQgOiB0cmltbWVkLmxlZnQobnVtYmVyT2ZDaGFyYWN0ZXJzKSArIGVsbGlwc2lzOworfQorCiBE
ZWZhdWx0TG9jYWxpemF0aW9uU3RyYXRlZ3k6OkRlZmF1bHRMb2NhbGl6YXRpb25TdHJhdGVneSgp
CiB7CiB9CkBAIC0zMDMsMTAgKzMxOSwxMCBAQCBTdHJpbmcgRGVmYXVsdExvY2FsaXphdGlvblN0
cmF0ZWd5Ojpjb250ZXh0TWVudUl0ZW1UYWdMb29rVXBJbkRpY3Rpb25hcnkoY29uc3QgUwogICAg
IHJldHVybiBXRUJfVUlfU1RSSU5HKCJMb29rIFVwIGluIERpY3Rpb25hcnkiLCAiTG9vayBVcCBp
biBEaWN0aW9uYXJ5IGNvbnRleHQgbWVudSBpdGVtIik7CiAjZWxzZQogI2lmIFVTRShDRikKLSAg
ICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHNlbGVjdGVkQ0ZTdHJpbmcoQWRvcHRDRiwgc2VsZWN0
ZWRTdHJpbmcuY3JlYXRlQ0ZTdHJpbmcoKSk7CisgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBz
ZWxlY3RlZENGU3RyaW5nKEFkb3B0Q0YsIHRydW5jYXRlZFN0cmluZ0Zvckxvb2t1cE1lbnVJdGVt
KHNlbGVjdGVkU3RyaW5nKS5jcmVhdGVDRlN0cmluZygpKTsKICAgICByZXR1cm4gZm9ybWF0TG9j
YWxpemVkU3RyaW5nKFdFQl9VSV9TVFJJTkcoIkxvb2sgVXAg4oCcJUDigJ0iLCAiTG9vayBVcCBj
b250ZXh0IG1lbnUgaXRlbSB3aXRoIHNlbGVjdGVkIHdvcmQiKSwgc2VsZWN0ZWRDRlN0cmluZy5n
ZXQoKSk7CiAjZWxzZQotICAgIHJldHVybiBXRUJfVUlfU1RSSU5HKCJMb29rIFVwIOKAnDxzZWxl
Y3Rpb24+4oCdIiwgIkxvb2sgVXAgY29udGV4dCBtZW51IGl0ZW0gd2l0aCBzZWxlY3RlZCB3b3Jk
IikucmVwbGFjZSgiPHNlbGVjdGlvbj4iLCBzZWxlY3RlZFN0cmluZyk7CisgICAgcmV0dXJuIFdF
Ql9VSV9TVFJJTkcoIkxvb2sgVXAg4oCcPHNlbGVjdGlvbj7igJ0iLCAiTG9vayBVcCBjb250ZXh0
IG1lbnUgaXRlbSB3aXRoIHNlbGVjdGVkIHdvcmQiKS5yZXBsYWNlKCI8c2VsZWN0aW9uPiIsIHRy
dW5jYXRlZFN0cmluZ0Zvckxvb2t1cE1lbnVJdGVtKHNlbGVjdGVkU3RyaW5nKSk7CiAjZW5kaWYK
ICNlbmRpZgogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91926</attachid>
            <date>2011-05-02 09:19:47 -0700</date>
            <delta_ts>2011-05-02 13:44:41 -0700</delta_ts>
            <desc>Patch (v3)</desc>
            <filename>bug-59836-20110502091946.patch</filename>
            <type>text/plain</type>
            <size>3154</size>
            <attacher name="Jia Pu">jiapu.mail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODUzMjQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiOWVmZGRhZDU5MzIyMTcz
Mjc5ODI3NGUwNTA4NDQ0NDIyZDcyOGQ1Li5hNGUyNzhiNjk5N2FiZDJhYmQxNjgwMGExNTE5ZDMz
NDgxZGNmOTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMjkgIEppYSBQ
dSAgPGpwdUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW01hY10gTmVlZCB0byB0cnVuY2F0ZSB0aGUgc3RyaW5nIHNlbnQgdG8gIkxv
b2sgVXAg4oCmICIgbWVudSBpdGVtLCBpZiBpdCdzIHRvbyBsb25nLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk4MzYKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzkyNzU5ODM+CisKKyAgICAgICAgKiBwbGF0Zm9ybS9EZWZhdWx0TG9jYWxpemF0aW9u
U3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJ1bmNhdGVkU3RyaW5nRm9yTG9va3Vw
TWVudUl0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6RGVmYXVsdExvY2FsaXphdGlvblN0cmF0ZWd5
Ojpjb250ZXh0TWVudUl0ZW1UYWdMb29rVXBJbkRpY3Rpb25hcnkpOgorCiAyMDExLTA0LTI5ICBQ
YXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBZdXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RGVmYXVsdExvY2FsaXphdGlvblN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0RlZmF1bHRMb2NhbGl6YXRpb25TdHJhdGVneS5jcHAKaW5kZXggNjMzZTFkNTNhZDRkNzM1ODc4
Y2E0ZTgwMTkxNjdiMzQ3NDE5ODllYi4uMTVmYTgyZjRiMTk0ZTJhZDVlMTk3MmNhNmNlNWVlMTcz
NzkzMDdhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVmYXVsdExvY2Fs
aXphdGlvblN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EZWZhdWx0
TG9jYWxpemF0aW9uU3RyYXRlZ3kuY3BwCkBAIC0zMSw4ICszMSwxMCBAQAogI2luY2x1ZGUgIklu
dFNpemUuaCIKICNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiTm90SW1w
bGVtZW50ZWQuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9N
YXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0
Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVzLmg+CiAjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+
CiAKICNpZiBVU0UoQ0YpCkBAIC02OCw2ICs3MCwyMCBAQCBzdGF0aWMgU3RyaW5nIGZvcm1hdExv
Y2FsaXplZFN0cmluZyhTdHJpbmcgZm9ybWF0LCAuLi4pCiAjZW5kaWYKIH0KIAorc3RhdGljIFN0
cmluZyB0cnVuY2F0ZWRTdHJpbmdGb3JMb29rdXBNZW51SXRlbShjb25zdCBTdHJpbmcmIG9yaWdp
bmFsKQoreworICAgIGlmIChvcmlnaW5hbC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBvcmln
aW5hbDsKKyAgICAKKyAgICAvLyBUcnVuY2F0ZSB0aGUgc3RyaW5nIGlmIGl0J3MgdG9vIGxvbmcu
IFRoaXMgaXMgaW4gY29uc2lzdGVuY3kgd2l0aCBBcHBLaXQuCisgICAgdW5zaWduZWQgbWF4TnVt
YmVyT2ZHcmFwaGVtZUNsdXN0ZXJzSW5Mb29rdXBNZW51SXRlbSA9IDI0OworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoU3RyaW5nLCBlbGxpcHNpcywgKCZob3Jpem9udGFsRWxsaXBzaXMsIDEpKTsK
KyAgICAKKyAgICBTdHJpbmcgdHJpbW1lZCA9IG9yaWdpbmFsLnN0cmlwV2hpdGVTcGFjZSgpOwor
ICAgIHVuc2lnbmVkIG51bWJlck9mQ2hhcmFjdGVycyA9IG51bUNoYXJhY3RlcnNJbkdyYXBoZW1l
Q2x1c3RlcnModHJpbW1lZCwgbWF4TnVtYmVyT2ZHcmFwaGVtZUNsdXN0ZXJzSW5Mb29rdXBNZW51
SXRlbSk7CisgICAgcmV0dXJuIG51bWJlck9mQ2hhcmFjdGVycyA9PSB0cmltbWVkLmxlbmd0aCgp
ID8gdHJpbW1lZCA6IHRyaW1tZWQubGVmdChudW1iZXJPZkNoYXJhY3RlcnMpICsgZWxsaXBzaXM7
Cit9CisKIERlZmF1bHRMb2NhbGl6YXRpb25TdHJhdGVneTo6RGVmYXVsdExvY2FsaXphdGlvblN0
cmF0ZWd5KCkKIHsKIH0KQEAgLTMwMywxMCArMzE5LDEwIEBAIFN0cmluZyBEZWZhdWx0TG9jYWxp
emF0aW9uU3RyYXRlZ3k6OmNvbnRleHRNZW51SXRlbVRhZ0xvb2tVcEluRGljdGlvbmFyeShjb25z
dCBTCiAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoIkxvb2sgVXAgaW4gRGljdGlvbmFyeSIsICJM
b29rIFVwIGluIERpY3Rpb25hcnkgY29udGV4dCBtZW51IGl0ZW0iKTsKICNlbHNlCiAjaWYgVVNF
KENGKQotICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc2VsZWN0ZWRDRlN0cmluZyhBZG9wdENG
LCBzZWxlY3RlZFN0cmluZy5jcmVhdGVDRlN0cmluZygpKTsKKyAgICBSZXRhaW5QdHI8Q0ZTdHJp
bmdSZWY+IHNlbGVjdGVkQ0ZTdHJpbmcoQWRvcHRDRiwgdHJ1bmNhdGVkU3RyaW5nRm9yTG9va3Vw
TWVudUl0ZW0oc2VsZWN0ZWRTdHJpbmcpLmNyZWF0ZUNGU3RyaW5nKCkpOwogICAgIHJldHVybiBm
b3JtYXRMb2NhbGl6ZWRTdHJpbmcoV0VCX1VJX1NUUklORygiTG9vayBVcCDigJwlQOKAnSIsICJM
b29rIFVwIGNvbnRleHQgbWVudSBpdGVtIHdpdGggc2VsZWN0ZWQgd29yZCIpLCBzZWxlY3RlZENG
U3RyaW5nLmdldCgpKTsKICNlbHNlCi0gICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoIkxvb2sgVXAg
4oCcPHNlbGVjdGlvbj7igJ0iLCAiTG9vayBVcCBjb250ZXh0IG1lbnUgaXRlbSB3aXRoIHNlbGVj
dGVkIHdvcmQiKS5yZXBsYWNlKCI8c2VsZWN0aW9uPiIsIHNlbGVjdGVkU3RyaW5nKTsKKyAgICBy
ZXR1cm4gV0VCX1VJX1NUUklORygiTG9vayBVcCDigJw8c2VsZWN0aW9uPuKAnSIsICJMb29rIFVw
IGNvbnRleHQgbWVudSBpdGVtIHdpdGggc2VsZWN0ZWQgd29yZCIpLnJlcGxhY2UoIjxzZWxlY3Rp
b24+IiwgdHJ1bmNhdGVkU3RyaW5nRm9yTG9va3VwTWVudUl0ZW0oc2VsZWN0ZWRTdHJpbmcpKTsK
ICNlbmRpZgogI2VuZGlmCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91971</attachid>
            <date>2011-05-02 13:44:45 -0700</date>
            <delta_ts>2011-05-02 16:43:51 -0700</delta_ts>
            <desc>Patch (v5)</desc>
            <filename>bug-59836-20110502134444.patch</filename>
            <type>text/plain</type>
            <size>3226</size>
            <attacher name="Jia Pu">jiapu.mail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODU1MDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkNDNlZTM1MzI5YTc4YWU0
NzUzZTYzMGZiZjk4ZTJkMDFkY2ExYjViLi5mNGFhMzJjNzI5NGVmZmRkZWFjM2E5YjA0NDBkZWQw
N2VlY2Y3MDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMjkgIEppYSBQ
dSAgPGpwdUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW01hY10gTmVlZCB0byB0cnVuY2F0ZSB0aGUgc3RyaW5nIHNlbnQgdG8gIkxv
b2sgVXAg4oCmICIgbWVudSBpdGVtLCBpZiBpdCdzIHRvbyBsb25nLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk4MzYKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzkyNzU5ODM+CisKKyAgICAgICAgKiBwbGF0Zm9ybS9EZWZhdWx0TG9jYWxpemF0aW9u
U3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJ1bmNhdGVkU3RyaW5nRm9yTG9va3Vw
TWVudUl0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6RGVmYXVsdExvY2FsaXphdGlvblN0cmF0ZWd5
Ojpjb250ZXh0TWVudUl0ZW1UYWdMb29rVXBJbkRpY3Rpb25hcnkpOgorCiAyMDExLTA1LTAyICBT
YW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJz
IENhcmxzc29uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVmYXVsdExv
Y2FsaXphdGlvblN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RlZmF1bHRM
b2NhbGl6YXRpb25TdHJhdGVneS5jcHAKaW5kZXggNjMzZTFkNTNhZDRkNzM1ODc4Y2E0ZTgwMTkx
NjdiMzQ3NDE5ODllYi4uNGMxMWYyOTkyOTMzMDg5OTc2NDE5YmY3YmEzYWYzZDk1YTUzMDk5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVmYXVsdExvY2FsaXphdGlvblN0
cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EZWZhdWx0TG9jYWxpemF0
aW9uU3RyYXRlZ3kuY3BwCkBAIC0zMSw4ICszMSwxMCBAQAogI2luY2x1ZGUgIkludFNpemUuaCIK
ICNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQu
aCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFz
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi91bmljb2Rl
L0NoYXJhY3Rlck5hbWVzLmg+CiAjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAKICNpZiBV
U0UoQ0YpCkBAIC02OCw2ICs3MCwyMiBAQCBzdGF0aWMgU3RyaW5nIGZvcm1hdExvY2FsaXplZFN0
cmluZyhTdHJpbmcgZm9ybWF0LCAuLi4pCiAjZW5kaWYKIH0KIAorI2lmICFkZWZpbmVkKEJVSUxE
SU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKK3N0
YXRpYyBTdHJpbmcgdHJ1bmNhdGVkU3RyaW5nRm9yTG9va3VwTWVudUl0ZW0oY29uc3QgU3RyaW5n
JiBvcmlnaW5hbCkKK3sKKyAgICBpZiAob3JpZ2luYWwuaXNFbXB0eSgpKQorICAgICAgICByZXR1
cm4gb3JpZ2luYWw7CisgICAgCisgICAgLy8gVHJ1bmNhdGUgdGhlIHN0cmluZyBpZiBpdCdzIHRv
byBsb25nLiBUaGlzIGlzIGluIGNvbnNpc3RlbmN5IHdpdGggQXBwS2l0LgorICAgIHVuc2lnbmVk
IG1heE51bWJlck9mR3JhcGhlbWVDbHVzdGVyc0luTG9va3VwTWVudUl0ZW0gPSAyNDsKKyAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgZWxsaXBzaXMsICgmaG9yaXpvbnRhbEVsbGlwc2lz
LCAxKSk7CisgICAgCisgICAgU3RyaW5nIHRyaW1tZWQgPSBvcmlnaW5hbC5zdHJpcFdoaXRlU3Bh
Y2UoKTsKKyAgICB1bnNpZ25lZCBudW1iZXJPZkNoYXJhY3RlcnMgPSBudW1DaGFyYWN0ZXJzSW5H
cmFwaGVtZUNsdXN0ZXJzKHRyaW1tZWQsIG1heE51bWJlck9mR3JhcGhlbWVDbHVzdGVyc0luTG9v
a3VwTWVudUl0ZW0pOworICAgIHJldHVybiBudW1iZXJPZkNoYXJhY3RlcnMgPT0gdHJpbW1lZC5s
ZW5ndGgoKSA/IHRyaW1tZWQgOiB0cmltbWVkLmxlZnQobnVtYmVyT2ZDaGFyYWN0ZXJzKSArIGVs
bGlwc2lzOworfQorI2VuZGlmCisKIERlZmF1bHRMb2NhbGl6YXRpb25TdHJhdGVneTo6RGVmYXVs
dExvY2FsaXphdGlvblN0cmF0ZWd5KCkKIHsKIH0KQEAgLTMwMywxMCArMzIxLDEwIEBAIFN0cmlu
ZyBEZWZhdWx0TG9jYWxpemF0aW9uU3RyYXRlZ3k6OmNvbnRleHRNZW51SXRlbVRhZ0xvb2tVcElu
RGljdGlvbmFyeShjb25zdCBTCiAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoIkxvb2sgVXAgaW4g
RGljdGlvbmFyeSIsICJMb29rIFVwIGluIERpY3Rpb25hcnkgY29udGV4dCBtZW51IGl0ZW0iKTsK
ICNlbHNlCiAjaWYgVVNFKENGKQotICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc2VsZWN0ZWRD
RlN0cmluZyhBZG9wdENGLCBzZWxlY3RlZFN0cmluZy5jcmVhdGVDRlN0cmluZygpKTsKKyAgICBS
ZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHNlbGVjdGVkQ0ZTdHJpbmcoQWRvcHRDRiwgdHJ1bmNhdGVk
U3RyaW5nRm9yTG9va3VwTWVudUl0ZW0oc2VsZWN0ZWRTdHJpbmcpLmNyZWF0ZUNGU3RyaW5nKCkp
OwogICAgIHJldHVybiBmb3JtYXRMb2NhbGl6ZWRTdHJpbmcoV0VCX1VJX1NUUklORygiTG9vayBV
cCDigJwlQOKAnSIsICJMb29rIFVwIGNvbnRleHQgbWVudSBpdGVtIHdpdGggc2VsZWN0ZWQgd29y
ZCIpLCBzZWxlY3RlZENGU3RyaW5nLmdldCgpKTsKICNlbHNlCi0gICAgcmV0dXJuIFdFQl9VSV9T
VFJJTkcoIkxvb2sgVXAg4oCcPHNlbGVjdGlvbj7igJ0iLCAiTG9vayBVcCBjb250ZXh0IG1lbnUg
aXRlbSB3aXRoIHNlbGVjdGVkIHdvcmQiKS5yZXBsYWNlKCI8c2VsZWN0aW9uPiIsIHNlbGVjdGVk
U3RyaW5nKTsKKyAgICByZXR1cm4gV0VCX1VJX1NUUklORygiTG9vayBVcCDigJw8c2VsZWN0aW9u
PuKAnSIsICJMb29rIFVwIGNvbnRleHQgbWVudSBpdGVtIHdpdGggc2VsZWN0ZWQgd29yZCIpLnJl
cGxhY2UoIjxzZWxlY3Rpb24+IiwgdHJ1bmNhdGVkU3RyaW5nRm9yTG9va3VwTWVudUl0ZW0oc2Vs
ZWN0ZWRTdHJpbmcpKTsKICNlbmRpZgogI2VuZGlmCiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>