<?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>28980</bug_id>
          
          <creation_ts>2009-09-04 12:10:41 -0700</creation_ts>
          <short_desc>[V8] Run-time exception in onmessage handler is not forwarded to the worker object.</short_desc>
          <delta_ts>2009-11-04 01:06:38 -0800</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>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>levin</cc>
    
    <cc>pfeldman</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>144887</commentid>
    <comment_count>0</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-09-04 12:10:41 -0700</bug_when>
    <thetext>Run-time exception in onmessage handler is not forwarded to the worker object. Thus the layout test worker-close.html fails in chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144891</commentid>
    <comment_count>1</comment_count>
      <attachid>39083</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-09-04 12:21:12 -0700</bug_when>
    <thetext>Created attachment 39083
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144896</commentid>
    <comment_count>2</comment_count>
      <attachid>39083</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-09-04 12:26:51 -0700</bug_when>
    <thetext>Comment on attachment 39083
Proposed Patch

Test?

Also, I don&apos;t think getScriptExecutionContext(ScriptState) is correct.  We shouldn&apos;t be going through the frame to get the execution context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144907</commentid>
    <comment_count>3</comment_count>
      <attachid>39083</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-09-04 13:13:18 -0700</bug_when>
    <thetext>Comment on attachment 39083
Proposed Patch

Jian corrected me that this is already tested by worker-close and that the frame logic is already present.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144941</commentid>
    <comment_count>4</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-09-04 15:44:14 -0700</bug_when>
    <thetext>Committed as http://trac.webkit.org/changeset/48072.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145877</commentid>
    <comment_count>5</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-09-09 11:46:27 -0700</bug_when>
    <thetext>The commit has been partially reverted due to reliability build break in Chromium. We need to rework on this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145887</commentid>
    <comment_count>6</comment_count>
      <attachid>39289</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-09-09 12:01:09 -0700</bug_when>
    <thetext>Created attachment 39289
Proposed Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146782</commentid>
    <comment_count>7</comment_count>
      <attachid>39289</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-09-11 16:13:10 -0700</bug_when>
    <thetext>Comment on attachment 39289
Proposed Patch 2

Just a few nits to fix on landing.

&gt; diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
&gt; +        The previous fix is partially reverted due to reliability build break

s/is/was/

s/to/to a/

&gt; +        in chromium. The break happens when an exception is thrown without
&gt; +        setting a message. We need to check for this scenario and handle it.

No need to change this but for future reference, in general this type of comment can go with the function where you are doing the check and handling it.

&gt; diff --git a/WebCore/bindings/v8/V8AbstractEventListener.cpp b/WebCore/bindings/v8/V8AbstractEventListener.cpp
&gt; +        tryCatch.SetVerbose(false);   // We do not want to report the exception to the inspector console.

Single space before end of line comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148904</commentid>
    <comment_count>8</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-09-21 17:09:08 -0700</bug_when>
    <thetext>Committed as http://trac.webkit.org/changeset/48610.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160322</commentid>
    <comment_count>9</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-11-03 22:41:23 -0800</bug_when>
    <thetext>Guys, could we revert this? At least the verbose part that breaks error reporting for devtools. Btw, why do we introduce handling of exceptions with no messages so late in the cycle? I&apos;ve not seen those before, or do I miss something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160328</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-03 23:01:40 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Guys, could we revert this? At least the verbose part that breaks error
&gt; reporting for devtools. Btw, why do we introduce handling of exceptions with no
&gt; messages so late in the cycle? I&apos;ve not seen those before, or do I miss
&gt; something?

Please file a new bug with this request and cc me, Jian, and levin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160367</commentid>
    <comment_count>11</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-04 01:06:38 -0800</bug_when>
    <thetext>Filed a new bug: https://bugs.webkit.org/show_bug.cgi?id=31108

(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; Guys, could we revert this? At least the verbose part that breaks error
&gt; &gt; reporting for devtools. Btw, why do we introduce handling of exceptions with no
&gt; &gt; messages so late in the cycle? I&apos;ve not seen those before, or do I miss
&gt; &gt; something?
&gt; 
&gt; Please file a new bug with this request and cc me, Jian, and levin.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39083</attachid>
            <date>2009-09-04 12:21:12 -0700</date>
            <delta_ts>2009-09-09 12:01:09 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>28980</filename>
            <type>text/plain</type>
            <size>12650</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZThmNjI1NS4uZjRlYWViNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAwOS0wOS0wNCAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW1Y4XSBSdW4tdGltZSBleGNlcHRpb24gaW4gb25tZXNzYWdlIGhhbmRsZXIg
aXMgbm90IGZvcndhcmRlZCB0byB0aGUgd29ya2VyIG9iamVjdC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4OTgwCisKKyAgICAgICAgVGVzdGVkIGJ5
IHdvcmtlci1jbG9zZS5odG1sLgorCisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0RnVuY3Rp
b25DYWxsLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEFic3RyYWN0RXZlbnRMaXN0ZW5l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOEFic3RyYWN0RXZlbnRMaXN0ZW5lcjo6aW52b2tl
RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFV0aWxpdGllcy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKFdl
YkNvcmU6OnJlcG9ydEV4Y2VwdGlvbik6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhVdGlsaXRp
ZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OmdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VDaGFubmVsQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q0FMTEJBQ0tfRlVOQ19ERUNMKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhTaGFyZWRXb3JrZXJDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q0FMTEJBQ0tfRlVOQ19ERUNMKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhX
b3JrZXJDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0FMTEJBQ0tfRlVOQ19ERUNMKToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNBTExCQUNLX0ZVTkNfREVDTCk6CisgICAgICAgICog
YmluZGluZ3MvdjgvY3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q0FMTEJBQ0tfRlVOQ19ERUNMKToKKwogMjAwOS0wOS0wNCAgVGltb3RoeSBIYXRj
aGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgU2hvdyBjb2xvciBzd2F0Y2hlcyBp
biB0aGUgV2ViIEluc3BlY3RvciBiZWZvcmUgdGhlIGNvbG9yIHRleHQgc28gY2xpY2tpbmcgdGhl
bSB3aWxsIG5vdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRGdW5jdGlv
bkNhbGwuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRGdW5jdGlvbkNhbGwuY3BwCmlu
ZGV4IDJmYTQzZDUuLjlmZjZiOGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0RnVuY3Rpb25DYWxsLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEZ1bmN0
aW9uQ2FsbC5jcHAKQEAgLTMxLDggKzMxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJTY3JpcHRGdW5jdGlvbkNhbGwuaCIKIAotI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5j
bHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJTY3JpcHRTY29wZS5oIgogI2luY2x1ZGUgIlNjcmlw
dFN0YXRlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RyaW5nLmgiCkBAIC00MCwxOSArMzgsMTMgQEAK
IAogI2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRl
ICJWOFV0aWxpdGllcy5oIgogCiAjaW5jbHVkZSA8djguaD4KICNpbmNsdWRlIDx3dGYvT3duQXJy
YXlQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgdm9pZCByZXBvcnRFeGNl
cHRpb24oU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlLCB2ODo6VHJ5Q2F0Y2ggJmV4Y2VwdGlvbkNh
dGNoZXIpCi17Ci0gICAgdjg6OkxvY2FsPHY4OjpNZXNzYWdlPiBtZXNzYWdlID0gZXhjZXB0aW9u
Q2F0Y2hlci5NZXNzYWdlKCk7Ci0gICAgc2NyaXB0U3RhdGUtPmZyYW1lKCktPmRvY3VtZW50KCkt
PnJlcG9ydEV4Y2VwdGlvbih0b1dlYkNvcmVTdHJpbmcobWVzc2FnZS0+R2V0KCkpLCBtZXNzYWdl
LT5HZXRMaW5lTnVtYmVyKCksIHRvV2ViQ29yZVN0cmluZyhtZXNzYWdlLT5HZXRTY3JpcHRSZXNv
dXJjZU5hbWUoKSkpOwotICAgIGV4Y2VwdGlvbkNhdGNoZXIuUmVzZXQoKTsKLX0KLQogU2NyaXB0
RnVuY3Rpb25DYWxsOjpTY3JpcHRGdW5jdGlvbkNhbGwoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRl
LCBjb25zdCBTY3JpcHRPYmplY3QmIHRoaXNPYmplY3QsIGNvbnN0IFN0cmluZyYgbmFtZSkKICAg
ICA6IG1fc2NyaXB0U3RhdGUoc2NyaXB0U3RhdGUpCiAgICAgLCBtX3RoaXNPYmplY3QodGhpc09i
amVjdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhBYnN0cmFjdEV2ZW50TGlz
dGVuZXIuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEFic3RyYWN0RXZlbnRMaXN0ZW5lci5j
cHAKaW5kZXggMmM1NWIwZi4uZjY1Zjk5OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOEFic3RyYWN0RXZlbnRMaXN0ZW5lci5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OEFic3RyYWN0RXZlbnRMaXN0ZW5lci5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJG
cmFtZS5oIgogI2luY2x1ZGUgIlRva2VuaXplci5oIgogI2luY2x1ZGUgIlY4QmluZGluZy5oIgor
I2luY2x1ZGUgIlY4VXRpbGl0aWVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtODEs
MTAgKzgyLDE3IEBAIHZvaWQgVjhBYnN0cmFjdEV2ZW50TGlzdGVuZXI6Omludm9rZUV2ZW50SGFu
ZGxlcih2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiB2OENvbnRlCiAgICAgICAgIHRyeUNhdGNoLlJl
c2V0KCk7CiAKICAgICAgICAgLy8gQ2FsbCB0aGUgZXZlbnQgaGFuZGxlci4KKyAgICAgICAgdHJ5
Q2F0Y2guU2V0VmVyYm9zZShmYWxzZSk7ICAgLy8gV2UgZG8gbm90IHdhbnQgdG8gcmVwb3J0IHRo
ZSBleGNlcHRpb24gdG8gdGhlIGluc3BlY3RvciBjb25zb2xlLgogICAgICAgICByZXR1cm5WYWx1
ZSA9IGNhbGxMaXN0ZW5lckZ1bmN0aW9uKGpzRXZlbnQsIGV2ZW50LCBpc1dpbmRvd0V2ZW50KTsK
LSAgICAgICAgdHJ5Q2F0Y2guUmVzZXQoKTsKKworICAgICAgICAvLyBJZiBhbiBlcnJvciBvY2N1
cnMgd2hpbGUgaGFuZGxpbmcgdGhlIGV2ZW50LCBpdCBzaG91bGQgYmUgcmVwb3J0ZWQuCisgICAg
ICAgIGlmICh0cnlDYXRjaC5IYXNDYXVnaHQoKSkgeworICAgICAgICAgICAgcmVwb3J0RXhjZXB0
aW9uKDAsIHRyeUNhdGNoKTsKKyAgICAgICAgICAgIHRyeUNhdGNoLlJlc2V0KCk7CisgICAgICAg
IH0KIAogICAgICAgICAvLyBSZXN0b3JlIHRoZSBvbGQgZXZlbnQuIFRoaXMgbXVzdCBiZSBkb25l
IGZvciBhbGwgZXhpdCBwYXRocyB0aHJvdWdoIHRoaXMgbWV0aG9kLgorICAgICAgICB0cnlDYXRj
aC5TZXRWZXJib3NlKHRydWUpOwogICAgICAgICBpZiAoc2F2ZWRFdmVudC5Jc0VtcHR5KCkpCiAg
ICAgICAgICAgICB2OENvbnRleHQtPkdsb2JhbCgpLT5TZXRIaWRkZW5WYWx1ZShldmVudFN5bWJv
bCwgdjg6OlVuZGVmaW5lZCgpKTsKICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOFV0aWxpdGllcy5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4VXRpbGl0
aWVzLmNwcAppbmRleCBmMjBhZGQ4Li40MjAzNWMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4VXRpbGl0aWVzLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4VXRpbGl0
aWVzLmNwcApAQCAtMzMsOCArMzMsMTUgQEAKIAogI2luY2x1ZGUgPHY4Lmg+CiAKKyNpbmNsdWRl
ICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAjaW5jbHVkZSAiVjhDdXN0
b21CaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCiAjaW5jbHVkZSAiVjhQcm94eS5o
IgorI2luY2x1ZGUgIldvcmtlckNvbnRleHQuaCIKKyNpbmNsdWRlICJXb3JrZXJDb250ZXh0RXhl
Y3V0aW9uUHJveHkuaCIKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSAi
RnJhbWUuaCIKQEAgLTEwMSw0ICsxMDgsMzAgQEAgdm9pZCBuYXZpZ2F0ZUlmQWxsb3dlZChGcmFt
ZSogZnJhbWUsIGNvbnN0IEtVUkwmIHVybCwgYm9vbCBsb2NrSGlzdG9yeSwgYm9vbCBsb2MKICAg
ICAgICAgZnJhbWUtPmxvYWRlcigpLT5zY2hlZHVsZUxvY2F0aW9uQ2hhbmdlKHVybC5zdHJpbmco
KSwgY2FsbGluZ0ZyYW1lLT5sb2FkZXIoKS0+b3V0Z29pbmdSZWZlcnJlcigpLCBsb2NrSGlzdG9y
eSwgbG9ja0JhY2tGb3J3YXJkTGlzdCwgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpOwogfQogCitT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KFNjcmlwdFN0
YXRlKiBzY3JpcHRTdGF0ZSkKK3sKKyNpZiBFTkFCTEUoV09SS0VSUykKKyAgICBXb3JrZXJDb250
ZXh0RXhlY3V0aW9uUHJveHkqIHByb3h5ID0gV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5Ojpy
ZXRyaWV2ZSgpOworICAgIGlmIChwcm94eSkKKyAgICAgICAgcmV0dXJuIHByb3h5LT53b3JrZXJD
b250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyNlbmRpZgorCisgICAgaWYgKHNj
cmlwdFN0YXRlKQorICAgICAgcmV0dXJuIHNjcmlwdFN0YXRlLT5mcmFtZSgpLT5kb2N1bWVudCgp
LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisgICAgZWxzZSB7CisgICAgICAgIEZyYW1lKiBm
cmFtZSA9IFY4UHJveHk6OnJldHJpZXZlRnJhbWVGb3JDdXJyZW50Q29udGV4dCgpOworICAgICAg
ICBpZiAoZnJhbWUpCisgICAgICAgICAgICByZXR1cm4gZnJhbWUtPmRvY3VtZW50KCktPnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBy
ZXBvcnRFeGNlcHRpb24oU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlLCB2ODo6VHJ5Q2F0Y2gmIGV4
Y2VwdGlvbkNhdGNoZXIpCit7CisgICAgdjg6OkxvY2FsPHY4OjpNZXNzYWdlPiBtZXNzYWdlID0g
ZXhjZXB0aW9uQ2F0Y2hlci5NZXNzYWdlKCk7CisgICAgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4
dChzY3JpcHRTdGF0ZSktPnJlcG9ydEV4Y2VwdGlvbih0b1dlYkNvcmVTdHJpbmcobWVzc2FnZS0+
R2V0KCkpLCBtZXNzYWdlLT5HZXRMaW5lTnVtYmVyKCksIHRvV2ViQ29yZVN0cmluZyhtZXNzYWdl
LT5HZXRTY3JpcHRSZXNvdXJjZU5hbWUoKSkpOworICAgIGV4Y2VwdGlvbkNhdGNoZXIuUmVzZXQo
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOFV0aWxpdGllcy5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFV0aWxpdGllcy5o
CmluZGV4IDJlNDhjNGMuLjM2ZGNlMjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhVdGlsaXRpZXMuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4VXRpbGl0aWVzLmgKQEAg
LTM3LDYgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRnJhbWU7CiAg
ICAgY2xhc3MgS1VSTDsKKyAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworICAgIGNs
YXNzIFNjcmlwdFN0YXRlOwogICAgIGNsYXNzIFN0cmluZzsKIAogICAgIC8vIFVzZSBhbiBhcnJh
eSB0byBob2xkIGRlcGVuZGVudHMuIEl0IHdvcmtzIGxpa2UgYSByZWYtY291bnRlZCBzY2hlbWUu
IEEgdmFsdWUgY2FuIGJlIGFkZGVkIG1vcmUgdGhhbiBvbmNlIHRvIHRoZSBET00gb2JqZWN0LgpA
QCAtNDgsNiArNTAsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIEtVUkwgY29tcGxldGVV
UkwoY29uc3QgU3RyaW5nJiByZWxhdGl2ZVVSTCk7CiAgICAgdm9pZCBuYXZpZ2F0ZUlmQWxsb3dl
ZChGcmFtZSosIGNvbnN0IEtVUkwmLCBib29sIGxvY2tIaXN0b3J5LCBib29sIGxvY2tCYWNrRm9y
d2FyZExpc3QpOwogCisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogZ2V0U2NyaXB0RXhlY3V0
aW9uQ29udGV4dChTY3JpcHRTdGF0ZSopOworICAgIGlubGluZSBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgeworICAgICAgICByZXR1cm4gZ2V0U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgwKTsKKyAgICB9CisKKyAgICB2b2lkIHJlcG9ydEV4Y2VwdGlv
bihTY3JpcHRTdGF0ZSosIHY4OjpUcnlDYXRjaCYpOworCiAgICAgY2xhc3MgQWxsb3dBbGxvY2F0
aW9uIHsKICAgICBwdWJsaWM6CiAgICAgICAgIGlubGluZSBBbGxvd0FsbG9jYXRpb24oKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlQ2hhbm5lbENvbnN0
cnVjdG9yLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUNoYW5uZWxD
b25zdHJ1Y3Rvci5jcHAKaW5kZXggZjQ1YWVjZi4uY2EwMmIxNiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlQ2hhbm5lbENvbnN0cnVjdG9yLmNwcAorKysg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VDaGFubmVsQ29uc3RydWN0b3Iu
Y3BwCkBAIC0zNiw2ICszNiw3IEBACiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkZyYW1lLmgiCisjaW5jbHVkZSAiVjhVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJXb3JrZXJDb250
ZXh0LmgiCiAjaW5jbHVkZSAiV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmgiCiAKQEAgLTUy
LDE2ICs1Myw5IEBAIENBTExCQUNLX0ZVTkNfREVDTChNZXNzYWdlQ2hhbm5lbENvbnN0cnVjdG9y
KQogICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5u
b3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIik7CiAKICAgICAvLyBHZXQgdGhlIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQgKFdvcmtlckNvbnRleHQgb3IgRG9jdW1lbnQpCi0gICAgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCA9IDA7Ci0gICAgV29ya2VyQ29udGV4dEV4ZWN1dGlvblBy
b3h5KiBwcm94eSA9IFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6cmV0cmlldmUoKTsKLSAg
ICBpZiAocHJveHkpCi0gICAgICAgIGNvbnRleHQgPSBwcm94eS0+d29ya2VyQ29udGV4dCgpOwot
ICAgIGVsc2UgewotICAgICAgICBGcmFtZSogZnJhbWUgPSBWOFByb3h5OjpyZXRyaWV2ZUZyYW1l
Rm9yQ3VycmVudENvbnRleHQoKTsKLSAgICAgICAgaWYgKCFmcmFtZSkKLSAgICAgICAgICAgIHJl
dHVybiB2ODo6VW5kZWZpbmVkKCk7Ci0gICAgICAgIGNvbnRleHQgPSBmcmFtZS0+ZG9jdW1lbnQo
KTsKLSAgICB9CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9IGdldFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHQpCisgICAgICAgIHJldHVybiB2
ODo6VW5kZWZpbmVkKCk7CiAKICAgICAvLyBOb3RlOiBpdCdzIE9LIHRvIGxldCB0aGlzIFJlZlB0
ciBnbyBvdXQgb2Ygc2NvcGUgYmVjYXVzZSB3ZSBhbHNvIGNhbGwKICAgICAvLyBTZXRET01XcmFw
cGVyKCksIHdoaWNoIGVmZmVjdGl2ZWx5IGhvbGRzIGEgcmVmZXJlbmNlIHRvIG9iai4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U2hhcmVkV29ya2VyQ3VzdG9tLmNw
cCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U2hhcmVkV29ya2VyQ3VzdG9tLmNwcApp
bmRleCAzYWIyZjhlLi43NTU5NzdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOFNoYXJlZFdvcmtlckN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhTaGFyZWRXb3JrZXJDdXN0b20uY3BwCkBAIC02NiwxNiArNjYsOSBAQCBDQUxMQkFD
S19GVU5DX0RFQ0woU2hhcmVkV29ya2VyQ29uc3RydWN0b3IpCiAgICAgICAgIHJldHVybiB2ODo6
VW5kZWZpbmVkKCk7CiAKICAgICAvLyBHZXQgdGhlIHNjcmlwdCBleGVjdXRpb24gY29udGV4dC4K
LSAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0ID0gMDsKLSAgICBXb3JrZXJDb250
ZXh0RXhlY3V0aW9uUHJveHkqIHByb3h5ID0gV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5Ojpy
ZXRyaWV2ZSgpOwotICAgIGlmIChwcm94eSkKLSAgICAgICAgY29udGV4dCA9IHByb3h5LT53b3Jr
ZXJDb250ZXh0KCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIEZyYW1lKiBmcmFtZSA9IFY4UHJveHk6
OnJldHJpZXZlRnJhbWUoKTsKLSAgICAgICAgaWYgKCFmcmFtZSkKLSAgICAgICAgICAgIHJldHVy
biB2ODo6VW5kZWZpbmVkKCk7Ci0gICAgICAgIGNvbnRleHQgPSBmcmFtZS0+ZG9jdW1lbnQoKTsK
LSAgICB9CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9IGdldFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHQpCisgICAgICAgIHJldHVybiB2ODo6
VW5kZWZpbmVkKCk7CiAKICAgICAvLyBDcmVhdGUgdGhlIHdvcmtlciBvYmplY3QuCiAgICAgLy8g
Tm90ZTogaXQncyBPSyB0byBsZXQgdGhpcyBSZWZQdHIgZ28gb3V0IG9mIHNjb3BlIGJlY2F1c2Ug
d2UgYWxzbyBjYWxsIFNldERPTVdyYXBwZXIoKSwgd2hpY2ggZWZmZWN0aXZlbHkgaG9sZHMgYSBy
ZWZlcmVuY2UgdG8gb2JqLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhXb3JrZXJDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJD
dXN0b20uY3BwCmluZGV4IGFjZmNhY2IuLjFjZWNkZTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ3VzdG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOFdvcmtlckN1c3RvbS5jcHAKQEAgLTY2LDE2ICs2Niw5IEBAIENBTExCQUNL
X0ZVTkNfREVDTChXb3JrZXJDb25zdHJ1Y3RvcikKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmlu
ZWQoKTsKIAogICAgIC8vIEdldCB0aGUgc2NyaXB0IGV4ZWN1dGlvbiBjb250ZXh0LgotICAgIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSAwOwotICAgIFdvcmtlckNvbnRleHRFeGVj
dXRpb25Qcm94eSogcHJveHkgPSBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OnJldHJpZXZl
KCk7Ci0gICAgaWYgKHByb3h5KQotICAgICAgICBjb250ZXh0ID0gcHJveHktPndvcmtlckNvbnRl
eHQoKTsKLSAgICBlbHNlIHsKLSAgICAgICAgRnJhbWUqIGZyYW1lID0gVjhQcm94eTo6cmV0cmll
dmVGcmFtZUZvckN1cnJlbnRDb250ZXh0KCk7Ci0gICAgICAgIGlmICghZnJhbWUpCi0gICAgICAg
ICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwotICAgICAgICBjb250ZXh0ID0gZnJhbWUtPmRv
Y3VtZW50KCk7Ci0gICAgfQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBn
ZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisgICAgaWYgKCFjb250ZXh0KQorICAgICAgICBy
ZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogCiAgICAgLy8gQ3JlYXRlIHRoZSB3b3JrZXIgb2JqZWN0
LgogICAgIC8vIE5vdGU6IGl0J3MgT0sgdG8gbGV0IHRoaXMgUmVmUHRyIGdvIG91dCBvZiBzY29w
ZSBiZWNhdXNlIHdlIGFsc28gY2FsbCBzZXRET01XcmFwcGVyKCksIHdoaWNoIGVmZmVjdGl2ZWx5
IGhvbGRzIGEgcmVmZXJlbmNlIHRvIG9iai4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3Rvci5jcHAgYi9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q29uc3RydWN0b3IuY3BwCmluZGV4IDAyY2U4
ZTIuLjYyZTkyM2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4WE1M
SHR0cFJlcXVlc3RDb25zdHJ1Y3Rvci5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2lu
Y2x1ZGUgIlY4Q3VzdG9tQmluZGluZy5oIgogI2luY2x1ZGUgIlY4T2JqZWN0RXZlbnRMaXN0ZW5l
ci5oIgogI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlICJWOFV0aWxpdGllcy5oIgogI2lu
Y2x1ZGUgIlhNTEh0dHBSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV29ya2VyQ29udGV4dC5oIgogI2lu
Y2x1ZGUgIldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oIgpAQCAtNTAsMjAgKzUxLDkgQEAg
Q0FMTEJBQ0tfRlVOQ19ERUNMKFhNTEh0dHBSZXF1ZXN0Q29uc3RydWN0b3IpCiAKICAgICAvLyBF
eHBlY3Qgbm8gcGFyYW1ldGVycy4KICAgICAvLyBBbGxvY2F0ZSBhIFhNTEh0dHBSZXF1ZXN0IG9i
amVjdCBhcyBpdHMgaW50ZXJuYWwgZmllbGQuCi0gICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCA9IDA7Ci0jaWYgRU5BQkxFKFdPUktFUlMpCi0gICAgV29ya2VyQ29udGV4dEV4ZWN1
dGlvblByb3h5KiBwcm94eSA9IFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6cmV0cmlldmUo
KTsKLSAgICBpZiAocHJveHkpCi0gICAgICAgIGNvbnRleHQgPSBwcm94eS0+d29ya2VyQ29udGV4
dCgpOwotICAgIGVsc2UgewotI2VuZGlmCi0gICAgICAgIEZyYW1lKiBmcmFtZSA9IFY4UHJveHk6
OnJldHJpZXZlRnJhbWVGb3JDdXJyZW50Q29udGV4dCgpOwotICAgICAgICBpZiAoIWZyYW1lKQot
ICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoIlhNTEh0dHBSZXF1ZXN0IGNvbnN0cnVjdG9y
J3MgYXNzb2NpYXRlZCBmcmFtZSBpcyBub3QgYXZhaWxhYmxlIiwgVjhQcm94eTo6UmVmZXJlbmNl
RXJyb3IpOwotICAgICAgICBjb250ZXh0ID0gZnJhbWUtPmRvY3VtZW50KCk7Ci0jaWYgRU5BQkxF
KFdPUktFUlMpCi0gICAgfQotI2VuZGlmCisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCA9IGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHQpCisg
ICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJYTUxIdHRwUmVxdWVzdCBjb25zdHJ1Y3RvcidzIGFz
c29jaWF0ZWQgY29udGV4dCBpcyBub3QgYXZhaWxhYmxlIiwgVjhQcm94eTo6UmVmZXJlbmNlRXJy
b3IpOwogICAgIFJlZlB0cjxYTUxIdHRwUmVxdWVzdD4geG1sSHR0cFJlcXVlc3QgPSBYTUxIdHRw
UmVxdWVzdDo6Y3JlYXRlKGNvbnRleHQpOwogICAgIFY4RE9NV3JhcHBlcjo6c2V0RE9NV3JhcHBl
cihhcmdzLkhvbGRlcigpLCBWOENsYXNzSW5kZXg6OlRvSW50KFY4Q2xhc3NJbmRleDo6WE1MSFRU
UFJFUVVFU1QpLCB4bWxIdHRwUmVxdWVzdC5nZXQoKSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwIGIvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKaW5kZXggNzIwNGE2
MS4uYjk4MDY4MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxI
dHRwUmVxdWVzdEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhY
TUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKQEAgLTMyMywyMiArMzIzLDkgQEAgQ0FMTEJBQ0tfRlVO
Q19ERUNMKFhNTEh0dHBSZXF1ZXN0T3BlbikKIAogICAgIFN0cmluZyBtZXRob2QgPSB0b1dlYkNv
cmVTdHJpbmcoYXJnc1swXSk7CiAgICAgU3RyaW5nIHVybHN0cmluZyA9IHRvV2ViQ29yZVN0cmlu
ZyhhcmdzWzFdKTsKLSAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0ID0gMDsKLSNp
ZiBFTkFCTEUoV09SS0VSUykKLSAgICBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkqIHdvcmtl
ckNvbnRleHRQcm94eSA9IFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6cmV0cmlldmUoKTsK
LSAgICBpZiAod29ya2VyQ29udGV4dFByb3h5KSB7Ci0gICAgICAgIGNvbnRleHQgPSB3b3JrZXJD
b250ZXh0UHJveHktPndvcmtlckNvbnRleHQoKTsKLSAgICAgICAgQVNTRVJUKGNvbnRleHQpOwot
ICAgIH0KLSNlbmRpZgotCi0gICAgaWYgKCFjb250ZXh0KSB7Ci0gICAgICAgIFY4UHJveHkqIHBy
b3h5ID0gVjhQcm94eTo6cmV0cmlldmUoKTsKLSAgICAgICAgaWYgKCFwcm94eSkKLSAgICAgICAg
ICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7Ci0gICAgICAgIGNvbnRleHQgPSBwcm94eS0+ZnJh
bWUoKS0+ZG9jdW1lbnQoKTsKLSAgICAgICAgQVNTRVJUKGNvbnRleHQpOwotICAgIH0KKyAgICBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0ID0gZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpOworICAgIGlmICghY29udGV4dCkKKyAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsK
IAogICAgIEtVUkwgdXJsID0gY29udGV4dC0+Y29tcGxldGVVUkwodXJsc3RyaW5nKTsKIAo=
</data>
<flag name="review"
          id="20118"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="20119"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39289</attachid>
            <date>2009-09-09 12:01:09 -0700</date>
            <delta_ts>2009-09-11 16:13:09 -0700</delta_ts>
            <desc>Proposed Patch 2</desc>
            <filename>28980v2</filename>
            <type>text/plain</type>
            <size>3271</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjYxNzQ1Ni4uMzI1M2IwMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAwOS0wOS0wOSAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW1Y4XSBSdW4tdGltZSBleGNlcHRpb24gaW4gb25tZXNzYWdlIGhhbmRsZXIg
aXMgbm90IGZvcndhcmRlZCB0byB0aGUKKyAgICAgICAgd29ya2VyIG9iamVjdC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4OTgwCisKKyAgICAgICAg
VGhlIHByZXZpb3VzIGZpeCBpcyBwYXJ0aWFsbHkgcmV2ZXJ0ZWQgZHVlIHRvIHJlbGlhYmlsaXR5
IGJ1aWxkIGJyZWFrCisgICAgICAgIGluIGNocm9taXVtLiBUaGUgYnJlYWsgaGFwcGVucyB3aGVu
IGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2l0aG91dAorICAgICAgICBzZXR0aW5nIGEgbWVzc2Fn
ZS4gV2UgbmVlZCB0byBjaGVjayBmb3IgdGhpcyBzY2VuYXJpbyBhbmQgaGFuZGxlIGl0LgorCisg
ICAgICAgIFRlc3RlZCBieSB3b3JrZXItY2xvc2UuaHRtbC4KKworICAgICAgICAqIGJpbmRpbmdz
L3Y4L1Y4QWJzdHJhY3RFdmVudExpc3RlbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4QWJz
dHJhY3RFdmVudExpc3RlbmVyOjppbnZva2VFdmVudEhhbmRsZXIpOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L1Y4VXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydEV4Y2VwdGlv
bik6CisKIDIwMDktMDktMDggIEtldmluIFdhdHRlcnMgIDxrZXZpbndhdHRlcnNAZ21haWwuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtldmluIE9sbGl2aWVyLgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOEFic3RyYWN0RXZlbnRMaXN0ZW5lci5jcHAgYi9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4QWJzdHJhY3RFdmVudExpc3RlbmVyLmNwcAppbmRleCA3MmE3ZDI2Li5mNjVm
OTk5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QWJzdHJhY3RFdmVudExpc3Rl
bmVyLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QWJzdHJhY3RFdmVudExpc3RlbmVy
LmNwcApAQCAtODIsMTAgKzgyLDE3IEBAIHZvaWQgVjhBYnN0cmFjdEV2ZW50TGlzdGVuZXI6Omlu
dm9rZUV2ZW50SGFuZGxlcih2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiB2OENvbnRlCiAgICAgICAg
IHRyeUNhdGNoLlJlc2V0KCk7CiAKICAgICAgICAgLy8gQ2FsbCB0aGUgZXZlbnQgaGFuZGxlci4K
KyAgICAgICAgdHJ5Q2F0Y2guU2V0VmVyYm9zZShmYWxzZSk7ICAgLy8gV2UgZG8gbm90IHdhbnQg
dG8gcmVwb3J0IHRoZSBleGNlcHRpb24gdG8gdGhlIGluc3BlY3RvciBjb25zb2xlLgogICAgICAg
ICByZXR1cm5WYWx1ZSA9IGNhbGxMaXN0ZW5lckZ1bmN0aW9uKGpzRXZlbnQsIGV2ZW50LCBpc1dp
bmRvd0V2ZW50KTsKLSAgICAgICAgdHJ5Q2F0Y2guUmVzZXQoKTsKKworICAgICAgICAvLyBJZiBh
biBlcnJvciBvY2N1cnMgd2hpbGUgaGFuZGxpbmcgdGhlIGV2ZW50LCBpdCBzaG91bGQgYmUgcmVw
b3J0ZWQuCisgICAgICAgIGlmICh0cnlDYXRjaC5IYXNDYXVnaHQoKSkgeworICAgICAgICAgICAg
cmVwb3J0RXhjZXB0aW9uKDAsIHRyeUNhdGNoKTsKKyAgICAgICAgICAgIHRyeUNhdGNoLlJlc2V0
KCk7CisgICAgICAgIH0KIAogICAgICAgICAvLyBSZXN0b3JlIHRoZSBvbGQgZXZlbnQuIFRoaXMg
bXVzdCBiZSBkb25lIGZvciBhbGwgZXhpdCBwYXRocyB0aHJvdWdoIHRoaXMgbWV0aG9kLgorICAg
ICAgICB0cnlDYXRjaC5TZXRWZXJib3NlKHRydWUpOwogICAgICAgICBpZiAoc2F2ZWRFdmVudC5J
c0VtcHR5KCkpCiAgICAgICAgICAgICB2OENvbnRleHQtPkdsb2JhbCgpLT5TZXRIaWRkZW5WYWx1
ZShldmVudFN5bWJvbCwgdjg6OlVuZGVmaW5lZCgpKTsKICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFV0aWxpdGllcy5jcHAgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4VXRpbGl0aWVzLmNwcAppbmRleCBhOGFhOTI0Li5mOGY3ZDdjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4VXRpbGl0aWVzLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4VXRpbGl0aWVzLmNwcApAQCAtMTI5LDggKzEyOSwyMSBAQCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0
ZSkKIAogdm9pZCByZXBvcnRFeGNlcHRpb24oU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlLCB2ODo6
VHJ5Q2F0Y2gmIGV4Y2VwdGlvbkNhdGNoZXIpCiB7CisgICAgU3RyaW5nIGVycm9yTWVzc2FnZTsK
KyAgICBpbnQgbGluZU51bWJlciA9IDA7CisgICAgU3RyaW5nIHNvdXJjZVVSTDsKKworICAgIC8v
IFRoZXJlIGNhbiBiZSBhIHNpdHVhdGlvbiB0aGF0IGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2l0
aG91dCBzZXR0aW5nIGEgbWVzc2FnZS4KICAgICB2ODo6TG9jYWw8djg6Ok1lc3NhZ2U+IG1lc3Nh
Z2UgPSBleGNlcHRpb25DYXRjaGVyLk1lc3NhZ2UoKTsKLSAgICBnZXRTY3JpcHRFeGVjdXRpb25D
b250ZXh0KHNjcmlwdFN0YXRlKS0+cmVwb3J0RXhjZXB0aW9uKHRvV2ViQ29yZVN0cmluZyhtZXNz
YWdlLT5HZXQoKSksIG1lc3NhZ2UtPkdldExpbmVOdW1iZXIoKSwgdG9XZWJDb3JlU3RyaW5nKG1l
c3NhZ2UtPkdldFNjcmlwdFJlc291cmNlTmFtZSgpKSk7CisgICAgaWYgKG1lc3NhZ2UuSXNFbXB0
eSgpKQorICAgICAgICBlcnJvck1lc3NhZ2UgPSB0b1dlYkNvcmVTdHJpbmcoZXhjZXB0aW9uQ2F0
Y2hlci5FeGNlcHRpb24oKS0+VG9TdHJpbmcoKSk7CisgICAgZWxzZSB7CisgICAgICAgIGVycm9y
TWVzc2FnZSA9IHRvV2ViQ29yZVN0cmluZyhtZXNzYWdlLT5HZXQoKSk7CisgICAgICAgIGxpbmVO
dW1iZXIgPSBtZXNzYWdlLT5HZXRMaW5lTnVtYmVyKCk7CisgICAgICAgIHNvdXJjZVVSTCA9IHRv
V2ViQ29yZVN0cmluZyhtZXNzYWdlLT5HZXRTY3JpcHRSZXNvdXJjZU5hbWUoKSk7CisgICAgfQor
CisgICAgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dChzY3JpcHRTdGF0ZSktPnJlcG9ydEV4Y2Vw
dGlvbihlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CiAgICAgZXhjZXB0aW9u
Q2F0Y2hlci5SZXNldCgpOwogfQogCg==
</data>
<flag name="review"
          id="20362"
          type_id="1"
          status="+"
          setter="levin"
    />
    <flag name="commit-queue"
          id="20363"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
      

    </bug>

</bugzilla>