<?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>29109</bug_id>
          
          <creation_ts>2009-09-09 14:55:18 -0700</creation_ts>
          <short_desc>[chromium] DragData::asURL should return file URL.</short_desc>
          <delta_ts>2009-09-28 12:46:15 -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="Jian Li">jianli</reporter>
          <assigned_to name="Jian Li">jianli</assigned_to>
          <cc>darin</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>145957</commentid>
    <comment_count>0</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-09-09 14:55:18 -0700</bug_when>
    <thetext>In Chromium implementation, DragData::asURL should return file URL, instead of file system path. This causes drag-to-navigate.html to crash in Mac and Linux.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145963</commentid>
    <comment_count>1</comment_count>
      <attachid>39305</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-09-09 14:59:23 -0700</bug_when>
    <thetext>Created attachment 39305
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145966</commentid>
    <comment_count>2</comment_count>
      <attachid>39305</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-09 15:04:41 -0700</bug_when>
    <thetext>Comment on attachment 39305
Proposed Patch

How do we know that the filename is an absolute path?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146253</commentid>
    <comment_count>3</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-09-10 10:29:03 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 39305 [details])
&gt; How do we know that the filename is an absolute path?

To make the filename an absolute path, I would like to add getAbsolutePath to FileSystem API and wrap it under PLATFORM(CHROMIUM) since no other platform is needing it now. How do you think?

To address the FIXME in DragData::asURL, I plan to add add isDirectory to FileSystem and wrap it under PLATFORM(CHROMIUM).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146822</commentid>
    <comment_count>4</comment_count>
      <attachid>39494</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-09-11 17:12:52 -0700</bug_when>
    <thetext>Created attachment 39494
Proposed Patch

Added the support to convert to absolute path. Also fixed the FIXME for directory check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148919</commentid>
    <comment_count>5</comment_count>
      <attachid>39899</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-09-21 17:59:20 -0700</bug_when>
    <thetext>Created attachment 39899
Proposed Patch: add conversion from file path to file url</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150039</commentid>
    <comment_count>6</comment_count>
      <attachid>40114</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-09-25 09:49:03 -0700</bug_when>
    <thetext>Created attachment 40114
Proposed Patch

Changed the function name and return type per other feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150596</commentid>
    <comment_count>7</comment_count>
      <attachid>40114</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-09-28 12:00:56 -0700</bug_when>
    <thetext>Comment on attachment 40114
Proposed Patch

Why are we adding single-platform functions used only in a single platform’s code to FileSystem.h, a cross-platform header? That is inappropriate.

We should add functions to the cross-platform headers when they are used in multiple platforms. If the code is Chromium-only, then the calls should be directly to the Chromium bridge from the Chromium-specific code.

If the functions are intended for use to make future code cross-platform, they the declarations should *not* be in #if PLATFORM(CHROMIUM).

Also, it&apos;s incorrect to add #include &quot;KURL.h&quot; just so you can declare a function returning a KURL. All you need for that is a forward declaration:

    class KURL;

I&apos;m sorry I didn&apos;t notice this earlier. The patch was marked [Chromium] so I did not realize it was making changes to this cross-platform header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150608</commentid>
    <comment_count>8</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-09-28 12:46:15 -0700</bug_when>
    <thetext>Committed as http://trac.webkit.org/changeset/48821.

I will fix the problems you point out in next patch. Thanks.

(In reply to comment #7)
&gt; (From update of attachment 40114 [details])
&gt; Why are we adding single-platform functions used only in a single platform’s
&gt; code to FileSystem.h, a cross-platform header? That is inappropriate.
&gt; 
&gt; We should add functions to the cross-platform headers when they are used in
&gt; multiple platforms. If the code is Chromium-only, then the calls should be
&gt; directly to the Chromium bridge from the Chromium-specific code.
&gt; 
&gt; If the functions are intended for use to make future code cross-platform, they
&gt; the declarations should *not* be in #if PLATFORM(CHROMIUM).
&gt; 
&gt; Also, it&apos;s incorrect to add #include &quot;KURL.h&quot; just so you can declare a
&gt; function returning a KURL. All you need for that is a forward declaration:
&gt; 
&gt;     class KURL;
&gt; 
&gt; I&apos;m sorry I didn&apos;t notice this earlier. The patch was marked [Chromium] so I
&gt; did not realize it was making changes to this cross-platform header.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39305</attachid>
            <date>2009-09-09 14:59:23 -0700</date>
            <delta_ts>2009-09-11 17:12:52 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>29109</filename>
            <type>text/plain</type>
            <size>1205</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjYxNzQ1Ni4uZjA4ODZlNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAwOS0wOS0wOSAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW2Nocm9taXVtXSBEcmFnRGF0YTo6YXNVUkwgc2hvdWxkIHJldHVybiBmaWxl
IFVSTC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5
MTA5CisKKyAgICAgICAgVGVzdGVkIGJ5IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctdG8t
bmF2aWdhdGUuaHRtbC4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL0RyYWdEYXRhQ2hy
b21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0RhdGE6OmFzVVJMKToKKwogMjAwOS0w
OS0wOCAgS2V2aW4gV2F0dGVycyAgPGtldmlud2F0dGVyc0BnbWFpbC5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgS2V2aW4gT2xsaXZpZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL0RyYWdEYXRhQ2hyb21pdW0uY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9EcmFnRGF0YUNocm9taXVtLmNwcAppbmRleCA3Y2EwNWU4Li44YzU1ZDJiIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0RyYWdEYXRhQ2hyb21pdW0uY3BwCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRHJhZ0RhdGFDaHJvbWl1bS5jcHAKQEAgLTY5LDcgKzY5
LDcgQEAgU3RyaW5nIERyYWdEYXRhOjphc1VSTChTdHJpbmcqIHRpdGxlKSBjb25zdAogICAgICAg
ICBTdHJpbmcgZmlsZU5hbWUgPSBtX3BsYXRmb3JtRHJhZ0RhdGEtPmZpbGVuYW1lc1swXTsKICAg
ICAgICAgLy8gRklYTUU6IEFkZCBpc0RpcmVjdG9yeSB0byBGaWxlU3lzdGVtIHNvIHRoYXQgd2Ug
Y2FuIGNoZWNrIGlmIGl0IGlzIG5vdCBhIGRpcmVjdG9yeS4KICAgICAgICAgaWYgKGZpbGVFeGlz
dHMoZmlsZU5hbWUpKQotICAgICAgICAgICAgdXJsID0gZmlsZU5hbWU7CisgICAgICAgICAgICB1
cmwgPSAiZmlsZTovLyIgKyBmaWxlTmFtZTsKICAgICB9CiAgCiAgICAgLy8gfHRpdGxlfCBjYW4g
YmUgTlVMTAo=
</data>
<flag name="commit-queue"
          id="20383"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39494</attachid>
            <date>2009-09-11 17:12:52 -0700</date>
            <delta_ts>2009-09-21 17:59:20 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>29109_2</filename>
            <type>text/plain</type>
            <size>3306</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
N2VkYzg4YS4uZjY5MWFiMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAwOS0wOS0xMSAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW2Nocm9taXVtXSBEcmFnRGF0YTo6YXNVUkwgc2hvdWxkIHJldHVybiBmaWxl
IFVSTC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5
MTA5CisKKyAgICAgICAgVGVzdGVkIGJ5IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctdG8t
bmF2aWdhdGUuaHRtbC4KKworICAgICAgICAqIHBsYXRmb3JtL0ZpbGVTeXN0ZW0uaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL0RyYWdEYXRhQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJh
Z0RhdGE6OmFzVVJMKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9GaWxlU3lzdGVtQ2hy
b21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0QWJzb2x1dGVQYXRoKToKKyAgICAgICAg
KFdlYkNvcmU6OmlzRGlyZWN0b3J5KToKKwogMjAwOS0wOS0xMSAgRnVtaXRvc2hpIFVrYWkgIDx1
a2FpQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9GaWxlU3lzdGVtLmgKaW5kZXggOTU4ZWI3My4uOGFhNGE0OCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVt
LmgKQEAgLTE3Miw2ICsxNzIsOCBAQCBTdHJpbmcgZmlsZW5hbWVGb3JEaXNwbGF5KGNvbnN0IFN0
cmluZyYpOwogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCiBTdHJpbmcgcGF0aEdldERpc3BsYXlG
aWxlTmFtZShjb25zdCBTdHJpbmcmKTsKK1N0cmluZyBnZXRBYnNvbHV0ZVBhdGgoY29uc3QgU3Ry
aW5nJik7Citib29sIGlzRGlyZWN0b3J5KGNvbnN0IFN0cmluZyYpOwogI2VuZGlmCiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0v
Q2hyb21pdW1CcmlkZ2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1Ccmlk
Z2UuaAppbmRleCBiMzQ5MjRiLi5hYWEyZTdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL0Nocm9taXVtQnJpZGdlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9DaHJvbWl1bUJyaWRnZS5oCkBAIC05NSw2ICs5NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgc3RhdGljIFN0cmluZyBkaXJlY3RvcnlOYW1lKGNvbnN0IFN0cmluZyYgcGF0aCk7
CiAgICAgICAgIHN0YXRpYyBTdHJpbmcgcGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KGNvbnN0IFN0
cmluZyYgcGF0aCwgY29uc3QgU3RyaW5nJiBjb21wb25lbnQpOwogICAgICAgICBzdGF0aWMgYm9v
bCBtYWtlQWxsRGlyZWN0b3JpZXMoY29uc3QgU3RyaW5nJiBwYXRoKTsKKyAgICAgICAgc3RhdGlj
IFN0cmluZyBnZXRBYnNvbHV0ZVBhdGgoY29uc3QgU3RyaW5nJik7CisgICAgICAgIHN0YXRpYyBi
b29sIGlzRGlyZWN0b3J5KGNvbnN0IFN0cmluZyYpOwogCiAgICAgICAgIC8vIEZvbnQgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiAjaWYgUExBVEZPUk0oV0lOX09TKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9EcmFnRGF0YUNocm9taXVtLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRHJh
Z0RhdGFDaHJvbWl1bS5jcHAKaW5kZXggN2NhMDVlOC4uZmE0YzU2YiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnRGF0YUNocm9taXVtLmNwcAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL0RyYWdEYXRhQ2hyb21pdW0uY3BwCkBAIC02Nyw5ICs2Nyw5IEBA
IFN0cmluZyBEcmFnRGF0YTo6YXNVUkwoU3RyaW5nKiB0aXRsZSkgY29uc3QKICAgICAgICAgdXJs
ID0gbV9wbGF0Zm9ybURyYWdEYXRhLT51cmwuc3RyaW5nKCk7CiAgICAgZWxzZSBpZiAobV9wbGF0
Zm9ybURyYWdEYXRhLT5maWxlbmFtZXMuc2l6ZSgpID09IDEpIHsKICAgICAgICAgU3RyaW5nIGZp
bGVOYW1lID0gbV9wbGF0Zm9ybURyYWdEYXRhLT5maWxlbmFtZXNbMF07Ci0gICAgICAgIC8vIEZJ
WE1FOiBBZGQgaXNEaXJlY3RvcnkgdG8gRmlsZVN5c3RlbSBzbyB0aGF0IHdlIGNhbiBjaGVjayBp
ZiBpdCBpcyBub3QgYSBkaXJlY3RvcnkuCi0gICAgICAgIGlmIChmaWxlRXhpc3RzKGZpbGVOYW1l
KSkKLSAgICAgICAgICAgIHVybCA9IGZpbGVOYW1lOworICAgICAgICBmaWxlTmFtZSA9IGdldEFi
c29sdXRlUGF0aChmaWxlTmFtZSk7CisgICAgICAgIGlmIChmaWxlRXhpc3RzKGZpbGVOYW1lKSAm
JiAhaXNEaXJlY3RvcnkoZmlsZU5hbWUpKQorICAgICAgICAgICAgdXJsID0gImZpbGU6Ly8iICsg
ZmlsZU5hbWU7CiAgICAgfQogIAogICAgIC8vIHx0aXRsZXwgY2FuIGJlIE5VTEwKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRmlsZVN5c3RlbUNocm9taXVtLmNwcCBiL1dl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRmlsZVN5c3RlbUNocm9taXVtLmNwcAppbmRleCAzMDY3
NGQ5Li5iOGI0OTdlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVT
eXN0ZW1DaHJvbWl1bS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9GaWxlU3lz
dGVtQ2hyb21pdW0uY3BwCkBAIC03Nyw0ICs3NywxNCBAQCBib29sIGZpbGVFeGlzdHMoY29uc3Qg
U3RyaW5nJiBwYXRoKQogICAgIHJldHVybiBDaHJvbWl1bUJyaWRnZTo6ZmlsZUV4aXN0cyhwYXRo
KTsKIH0KIAorU3RyaW5nIGdldEFic29sdXRlUGF0aChjb25zdCBTdHJpbmcmIHBhdGgpCit7Cisg
ICAgcmV0dXJuIENocm9taXVtQnJpZGdlOjpnZXRBYnNvbHV0ZVBhdGgocGF0aCk7Cit9CisKK2Jv
b2wgaXNEaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoKQoreworICAgIHJldHVybiBDaHJvbWl1
bUJyaWRnZTo6aXNEaXJlY3RvcnkocGF0aCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>
<flag name="commit-queue"
          id="20590"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39899</attachid>
            <date>2009-09-21 17:59:20 -0700</date>
            <delta_ts>2009-09-25 09:49:03 -0700</delta_ts>
            <desc>Proposed Patch: add conversion from file path to file url</desc>
            <filename>29109_3</filename>
            <type>text/plain</type>
            <size>3561</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OWI3NThiNi4uNGQzM2MyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAwOS0wOS0yMSAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW2Nocm9taXVtXSBEcmFnRGF0YTo6YXNVUkwgc2hvdWxkIHJldHVybiBmaWxl
IFVSTC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5
MTA5CisKKyAgICAgICAgVGVzdGVkIGJ5IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctdG8t
bmF2aWdhdGUuaHRtbC4KKworICAgICAgICAqIHBsYXRmb3JtL0ZpbGVTeXN0ZW0uaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL0RyYWdEYXRhQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJh
Z0RhdGE6OmFzVVJMKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9GaWxlU3lzdGVtQ2hy
b21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0QWJzb2x1dGVQYXRoKToKKyAgICAgICAg
KFdlYkNvcmU6OmlzRGlyZWN0b3J5KToKKyAgICAgICAgKFdlYkNvcmU6OmZpbGVQYXRoVG9GaWxl
VVJMKToKKwogMjAwOS0wOS0xNSAgSm9obiBBYmQtRWwtTWFsZWsgIDxqYW1AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmgK
aW5kZXggOTU4ZWI3My4uYzhhOTFiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9GaWxl
U3lzdGVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmgKQEAgLTE3Miw2ICsx
NzIsOSBAQCBTdHJpbmcgZmlsZW5hbWVGb3JEaXNwbGF5KGNvbnN0IFN0cmluZyYpOwogCiAjaWYg
UExBVEZPUk0oQ0hST01JVU0pCiBTdHJpbmcgcGF0aEdldERpc3BsYXlGaWxlTmFtZShjb25zdCBT
dHJpbmcmKTsKK1N0cmluZyBnZXRBYnNvbHV0ZVBhdGgoY29uc3QgU3RyaW5nJik7Citib29sIGlz
RGlyZWN0b3J5KGNvbnN0IFN0cmluZyYpOworU3RyaW5nIGZpbGVQYXRoVG9GaWxlVVJMKGNvbnN0
IFN0cmluZyYpOwogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1CcmlkZ2UuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vQ2hyb21pdW1CcmlkZ2UuaAppbmRleCBiMzQ5MjRiLi41NzI1OWIyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtQnJpZGdlLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5oCkBAIC05NSw2ICs5
NSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgc3RhdGljIFN0cmluZyBkaXJlY3Rv
cnlOYW1lKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAgICAgIHN0YXRpYyBTdHJpbmcgcGF0aEJ5
QXBwZW5kaW5nQ29tcG9uZW50KGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgU3RyaW5nJiBjb21w
b25lbnQpOwogICAgICAgICBzdGF0aWMgYm9vbCBtYWtlQWxsRGlyZWN0b3JpZXMoY29uc3QgU3Ry
aW5nJiBwYXRoKTsKKyAgICAgICAgc3RhdGljIFN0cmluZyBnZXRBYnNvbHV0ZVBhdGgoY29uc3Qg
U3RyaW5nJik7CisgICAgICAgIHN0YXRpYyBib29sIGlzRGlyZWN0b3J5KGNvbnN0IFN0cmluZyYp
OworICAgICAgICBzdGF0aWMgU3RyaW5nIGZpbGVQYXRoVG9GaWxlVVJMKGNvbnN0IFN0cmluZyYp
OwogCiAgICAgICAgIC8vIEZvbnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjaWYgUExBVEZPUk0oV0lOX09TKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnRGF0YUNocm9taXVtLmNwcCBiL1dl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRHJhZ0RhdGFDaHJvbWl1bS5jcHAKaW5kZXggN2NhMDVl
OC4uNTZiZmVkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnRGF0
YUNocm9taXVtLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0RyYWdEYXRhQ2hy
b21pdW0uY3BwCkBAIC02Nyw5ICs2Nyw5IEBAIFN0cmluZyBEcmFnRGF0YTo6YXNVUkwoU3RyaW5n
KiB0aXRsZSkgY29uc3QKICAgICAgICAgdXJsID0gbV9wbGF0Zm9ybURyYWdEYXRhLT51cmwuc3Ry
aW5nKCk7CiAgICAgZWxzZSBpZiAobV9wbGF0Zm9ybURyYWdEYXRhLT5maWxlbmFtZXMuc2l6ZSgp
ID09IDEpIHsKICAgICAgICAgU3RyaW5nIGZpbGVOYW1lID0gbV9wbGF0Zm9ybURyYWdEYXRhLT5m
aWxlbmFtZXNbMF07Ci0gICAgICAgIC8vIEZJWE1FOiBBZGQgaXNEaXJlY3RvcnkgdG8gRmlsZVN5
c3RlbSBzbyB0aGF0IHdlIGNhbiBjaGVjayBpZiBpdCBpcyBub3QgYSBkaXJlY3RvcnkuCi0gICAg
ICAgIGlmIChmaWxlRXhpc3RzKGZpbGVOYW1lKSkKLSAgICAgICAgICAgIHVybCA9IGZpbGVOYW1l
OworICAgICAgICBmaWxlTmFtZSA9IGdldEFic29sdXRlUGF0aChmaWxlTmFtZSk7CisgICAgICAg
IGlmIChmaWxlRXhpc3RzKGZpbGVOYW1lKSAmJiAhaXNEaXJlY3RvcnkoZmlsZU5hbWUpKQorICAg
ICAgICAgICAgdXJsID0gZmlsZVBhdGhUb0ZpbGVVUkwoZmlsZU5hbWUpOwogICAgIH0KICAKICAg
ICAvLyB8dGl0bGV8IGNhbiBiZSBOVUxMCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKaW5kZXggMzA2NzRkOS4uMDQ1MTY1YSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9GaWxlU3lzdGVtQ2hyb21pdW0uY3BwCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRmlsZVN5c3RlbUNocm9taXVtLmNwcApAQCAtNzcs
NCArNzcsMTkgQEAgYm9vbCBmaWxlRXhpc3RzKGNvbnN0IFN0cmluZyYgcGF0aCkKICAgICByZXR1
cm4gQ2hyb21pdW1CcmlkZ2U6OmZpbGVFeGlzdHMocGF0aCk7CiB9CiAKK1N0cmluZyBnZXRBYnNv
bHV0ZVBhdGgoY29uc3QgU3RyaW5nJiBwYXRoKQoreworICAgIHJldHVybiBDaHJvbWl1bUJyaWRn
ZTo6Z2V0QWJzb2x1dGVQYXRoKHBhdGgpOworfQorCitib29sIGlzRGlyZWN0b3J5KGNvbnN0IFN0
cmluZyYgcGF0aCkKK3sKKyAgICByZXR1cm4gQ2hyb21pdW1CcmlkZ2U6OmlzRGlyZWN0b3J5KHBh
dGgpOworfQorCitTdHJpbmcgZmlsZVBhdGhUb0ZpbGVVUkwoY29uc3QgU3RyaW5nJiBwYXRoKQor
eworICAgIHJldHVybiBDaHJvbWl1bUJyaWRnZTo6ZmlsZVBhdGhUb0ZpbGVVUkwocGF0aCk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>
<flag name="review"
          id="21039"
          type_id="1"
          status="+"
          setter="levin"
    />
    <flag name="commit-queue"
          id="21040"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40114</attachid>
            <date>2009-09-25 09:49:03 -0700</date>
            <delta_ts>2009-09-28 12:00:56 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>29109_4</filename>
            <type>text/plain</type>
            <size>3725</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YmJlZGNiZS4uNTZmODQ4OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAwOS0wOS0yNCAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW2Nocm9taXVtXSBEcmFnRGF0YTo6YXNVUkwgc2hvdWxkIHJldHVybiBmaWxl
IFVSTC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5
MTA5CisKKyAgICAgICAgVGVzdGVkIGJ5IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctdG8t
bmF2aWdhdGUuaHRtbC4KKworICAgICAgICAqIHBsYXRmb3JtL0ZpbGVTeXN0ZW0uaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL0RyYWdEYXRhQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJh
Z0RhdGE6OmFzVVJMKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9GaWxlU3lzdGVtQ2hy
b21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0QWJzb2x1dGVQYXRoKToKKyAgICAgICAg
KFdlYkNvcmU6OmlzRGlyZWN0b3J5KToKKyAgICAgICAgKFdlYkNvcmU6OmZpbGVQYXRoVG9VUkwp
OgorCiAyMDA5LTA5LTI0ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFA
Y29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIE1hYyBidWlsZCBmaXguCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uaCBiL1dlYkNvcmUvcGxhdGZv
cm0vRmlsZVN5c3RlbS5oCmluZGV4IDk1OGViNzMuLjExMDIwNGIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3Rl
bS5oCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogCisjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIlBsYXRmb3Jt
U3RyaW5nLmgiCiAKIHR5cGVkZWYgY29uc3Qgc3RydWN0IF9fQ0ZEYXRhKiBDRkRhdGFSZWY7CkBA
IC0xNzIsNiArMTczLDkgQEAgU3RyaW5nIGZpbGVuYW1lRm9yRGlzcGxheShjb25zdCBTdHJpbmcm
KTsKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQogU3RyaW5nIHBhdGhHZXREaXNwbGF5RmlsZU5h
bWUoY29uc3QgU3RyaW5nJik7CitTdHJpbmcgZ2V0QWJzb2x1dGVQYXRoKGNvbnN0IFN0cmluZyYp
OworYm9vbCBpc0RpcmVjdG9yeShjb25zdCBTdHJpbmcmKTsKK0tVUkwgZmlsZVBhdGhUb1VSTChj
b25zdCBTdHJpbmcmKTsKICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtQnJpZGdlLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtQnJpZGdlLmgKaW5kZXggMDUwNWQwNy4uMWFmY2My
MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1CcmlkZ2UuaApAQCAtOTYs
NiArOTYsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHN0YXRpYyBTdHJpbmcgZGly
ZWN0b3J5TmFtZShjb25zdCBTdHJpbmcmIHBhdGgpOwogICAgICAgICBzdGF0aWMgU3RyaW5nIHBh
dGhCeUFwcGVuZGluZ0NvbXBvbmVudChjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0IFN0cmluZyYg
Y29tcG9uZW50KTsKICAgICAgICAgc3RhdGljIGJvb2wgbWFrZUFsbERpcmVjdG9yaWVzKGNvbnN0
IFN0cmluZyYgcGF0aCk7CisgICAgICAgIHN0YXRpYyBTdHJpbmcgZ2V0QWJzb2x1dGVQYXRoKGNv
bnN0IFN0cmluZyYpOworICAgICAgICBzdGF0aWMgYm9vbCBpc0RpcmVjdG9yeShjb25zdCBTdHJp
bmcmKTsKKyAgICAgICAgc3RhdGljIEtVUkwgZmlsZVBhdGhUb1VSTChjb25zdCBTdHJpbmcmKTsK
IAogICAgICAgICAvLyBGb250IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogI2lmIFBMQVRGT1JNKFdJTl9PUykKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRHJhZ0RhdGFDaHJvbWl1bS5jcHAgYi9XZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL0RyYWdEYXRhQ2hyb21pdW0uY3BwCmluZGV4IDdjYTA1ZTgu
LjQwODNiODAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRHJhZ0RhdGFD
aHJvbWl1bS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnRGF0YUNocm9t
aXVtLmNwcApAQCAtNjcsOSArNjcsOSBAQCBTdHJpbmcgRHJhZ0RhdGE6OmFzVVJMKFN0cmluZyog
dGl0bGUpIGNvbnN0CiAgICAgICAgIHVybCA9IG1fcGxhdGZvcm1EcmFnRGF0YS0+dXJsLnN0cmlu
ZygpOwogICAgIGVsc2UgaWYgKG1fcGxhdGZvcm1EcmFnRGF0YS0+ZmlsZW5hbWVzLnNpemUoKSA9
PSAxKSB7CiAgICAgICAgIFN0cmluZyBmaWxlTmFtZSA9IG1fcGxhdGZvcm1EcmFnRGF0YS0+Zmls
ZW5hbWVzWzBdOwotICAgICAgICAvLyBGSVhNRTogQWRkIGlzRGlyZWN0b3J5IHRvIEZpbGVTeXN0
ZW0gc28gdGhhdCB3ZSBjYW4gY2hlY2sgaWYgaXQgaXMgbm90IGEgZGlyZWN0b3J5LgotICAgICAg
ICBpZiAoZmlsZUV4aXN0cyhmaWxlTmFtZSkpCi0gICAgICAgICAgICB1cmwgPSBmaWxlTmFtZTsK
KyAgICAgICAgZmlsZU5hbWUgPSBnZXRBYnNvbHV0ZVBhdGgoZmlsZU5hbWUpOworICAgICAgICBp
ZiAoZmlsZUV4aXN0cyhmaWxlTmFtZSkgJiYgIWlzRGlyZWN0b3J5KGZpbGVOYW1lKSkKKyAgICAg
ICAgICAgIHVybCA9IGZpbGVQYXRoVG9VUkwoZmlsZU5hbWUpLnN0cmluZygpOwogICAgIH0KICAK
ICAgICAvLyB8dGl0bGV8IGNhbiBiZSBOVUxMCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKaW5kZXggMzA2NzRkOS4uOWU3NDI0ZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9GaWxlU3lzdGVtQ2hyb21pdW0uY3BwCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRmlsZVN5c3RlbUNocm9taXVtLmNwcApAQCAt
NzcsNCArNzcsMTkgQEAgYm9vbCBmaWxlRXhpc3RzKGNvbnN0IFN0cmluZyYgcGF0aCkKICAgICBy
ZXR1cm4gQ2hyb21pdW1CcmlkZ2U6OmZpbGVFeGlzdHMocGF0aCk7CiB9CiAKK1N0cmluZyBnZXRB
YnNvbHV0ZVBhdGgoY29uc3QgU3RyaW5nJiBwYXRoKQoreworICAgIHJldHVybiBDaHJvbWl1bUJy
aWRnZTo6Z2V0QWJzb2x1dGVQYXRoKHBhdGgpOworfQorCitib29sIGlzRGlyZWN0b3J5KGNvbnN0
IFN0cmluZyYgcGF0aCkKK3sKKyAgICByZXR1cm4gQ2hyb21pdW1CcmlkZ2U6OmlzRGlyZWN0b3J5
KHBhdGgpOworfQorCitLVVJMIGZpbGVQYXRoVG9VUkwoY29uc3QgU3RyaW5nJiBwYXRoKQorewor
ICAgIHJldHVybiBDaHJvbWl1bUJyaWRnZTo6ZmlsZVBhdGhUb1VSTChwYXRoKTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>
<flag name="review"
          id="21300"
          type_id="1"
          status="+"
          setter="levin"
    />
    <flag name="commit-queue"
          id="21301"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
      

    </bug>

</bugzilla>