<?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>57335</bug_id>
          
          <creation_ts>2011-03-29 07:04:15 -0700</creation_ts>
          <short_desc>Clean up bidiNext by abstracting repeated code</short_desc>
          <delta_ts>2011-03-29 11:12:31 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>375272</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-29 07:04:15 -0700</bug_when>
    <thetext>Clean up bidiNext by abstracting repeated code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375274</commentid>
    <comment_count>1</comment_count>
      <attachid>87310</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-29 07:05:40 -0700</bug_when>
    <thetext>Created attachment 87310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375287</commentid>
    <comment_count>2</comment_count>
      <attachid>87310</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-29 07:15:31 -0700</bug_when>
    <thetext>Comment on attachment 87310
Patch

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

&gt; Source/WebCore/rendering/InlineIterator.h:91
&gt; +    using namespace WTF::Unicode;

Is it a common practice in WebKit to do &quot;using namespace&quot; inside a function?

&gt; Source/WebCore/rendering/InlineIterator.h:111
&gt; +    if (!resolver || !object-&gt;isRenderInline())

We should assert that object is not NULL or add an early exit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375291</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-29 07:19:51 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 87310 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=87310&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/InlineIterator.h:91
&gt; &gt; +    using namespace WTF::Unicode;
&gt; 
&gt; Is it a common practice in WebKit to do &quot;using namespace&quot; inside a function?

No.  But it seems common in the bidi code.

&gt; &gt; Source/WebCore/rendering/InlineIterator.h:111
&gt; &gt; +    if (!resolver || !object-&gt;isRenderInline())
&gt; 
&gt; We should assert that object is not NULL or add an early exit.

OK.  will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375401</commentid>
    <comment_count>4</comment_count>
      <attachid>87340</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-29 09:06:24 -0700</bug_when>
    <thetext>Created attachment 87340
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375489</commentid>
    <comment_count>5</comment_count>
      <attachid>87340</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-29 10:33:42 -0700</bug_when>
    <thetext>Comment on attachment 87340
Patch for landing

Clearing flags on attachment: 87340

Committed r82275: &lt;http://trac.webkit.org/changeset/82275&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375490</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-29 10:33:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375557</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-29 11:12:31 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/82275 might have broken Leopard Intel Debug (Tests)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87310</attachid>
            <date>2011-03-29 07:05:40 -0700</date>
            <delta_ts>2011-03-29 09:06:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57335-20110329160537.patch</filename>
            <type>text/plain</type>
            <size>6378</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODIyMTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyNjkwOWMzMmI1ZmZjMjkz
MmY4NmY4YmY4NDRmZDYzZWU0YTM4YWU4Li43NWU2ZmFjNThkZTU0Y2E5YmQ3OGEwNWUyYmY2Y2E5
MGIyNDRjZmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjMgQEAKIAogICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBDbGVhbiB1cCBiaWRpTmV4dCBieSBhYnN0
cmFjdGluZyByZXBlYXRlZCBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01NzMzNQorCisgICAgICAgIEkgYWxzbyBhZGRlZCBhIGNvbW1lbnQgdG8g
ZXhwbGFpbiB3aGF0IGJpZGlOZXh0IGlzIGFjdHVhbGx5IGRvaW5nLgorICAgICAgICBUaGlzIHdo
b2xlIGFyZWEgb2YgY29kZSBpcyBjb25mdXNpbmcgYnV0IG5lZWQgbm90IGJlLgorCisgICAgICAg
ICogcmVuZGVyaW5nL0lubGluZUl0ZXJhdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjplbWJlZENo
YXJGcm9tRGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Om5vdGlmeVJlc29sdmVyRW50ZXJl
ZE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpub3RpZnlSZXNvbHZlcldpbGxFeGl0T2JqZWN0
KToKKyAgICAgICAgKFdlYkNvcmU6OmJpZGlOZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OmJpZGlG
aXJzdCk6CisKKzIwMTEtMDMtMjkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAgIFJlbW92ZSBhIGJ1
bmNoIG9mIGR1cGxpY2F0ZSBjb2RlIGJ5IGFkZGluZyBzb21lIElubGluZUl0ZXJhdG9yIGhlbHBl
ciBtZXRob2RzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01NzMyNgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lSXRl
cmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVJdGVyYXRvci5oCmluZGV4
IGI4YjM5MzRlOTMyZDFmNGEyMGYzZGYyZWNhNTc2ZjAwNTM0ZWEwZmEuLjBhMjQwNWVmMjU1MWYw
YTBlMGZhM2FlYWY4NjIyZWEwZDExOTcwNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbmxpbmVJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVJdGVyYXRvci5oCkBAIC04Niw2ICs4NiwzOCBAQCBpbmxpbmUgYm9vbCBvcGVyYXRvciE9
KGNvbnN0IElubGluZUl0ZXJhdG9yJiBpdDEsIGNvbnN0IElubGluZUl0ZXJhdG9yJiBpdDIpCiAg
ICAgcmV0dXJuIGl0MS5tX3BvcyAhPSBpdDIubV9wb3MgfHwgaXQxLm1fb2JqICE9IGl0Mi5tX29i
ajsKIH0KIAorc3RhdGljIGlubGluZSBXVEY6OlVuaWNvZGU6OkRpcmVjdGlvbiBlbWJlZENoYXJG
cm9tRGlyZWN0aW9uKFRleHREaXJlY3Rpb24gZGlyLCBFVW5pY29kZUJpZGkgdW5pY29kZUJpZGkp
Cit7CisgICAgdXNpbmcgbmFtZXNwYWNlIFdURjo6VW5pY29kZTsKKyAgICBpZiAodW5pY29kZUJp
ZGkgPT0gRW1iZWQpCisgICAgICAgIHJldHVybiBkaXIgPT0gUlRMID8gUmlnaHRUb0xlZnRFbWJl
ZGRpbmcgOiBMZWZ0VG9SaWdodEVtYmVkZGluZzsKKyAgICByZXR1cm4gZGlyID09IFJUTCA/IFJp
Z2h0VG9MZWZ0T3ZlcnJpZGUgOiBMZWZ0VG9SaWdodE92ZXJyaWRlOworfQorCitzdGF0aWMgaW5s
aW5lIHZvaWQgbm90aWZ5UmVzb2x2ZXJFbnRlcmVkT2JqZWN0KElubGluZUJpZGlSZXNvbHZlciog
cmVzb2x2ZXIsIFJlbmRlck9iamVjdCogb2JqZWN0KQoreworICAgIGlmICghcmVzb2x2ZXIgfHwg
IW9iamVjdCB8fCAhb2JqZWN0LT5pc1JlbmRlcklubGluZSgpKQorICAgICAgICByZXR1cm47CisK
KyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBvYmplY3QtPnN0eWxlKCk7CisgICAgRVVuaWNvZGVC
aWRpIHVuaWNvZGVCaWRpID0gc3R5bGUtPnVuaWNvZGVCaWRpKCk7CisgICAgaWYgKHVuaWNvZGVC
aWRpID09IFVCTm9ybWFsKQorICAgICAgICByZXR1cm47CisgICAgcmVzb2x2ZXItPmVtYmVkKGVt
YmVkQ2hhckZyb21EaXJlY3Rpb24oc3R5bGUtPmRpcmVjdGlvbigpLCB1bmljb2RlQmlkaSkpOwor
fQorCitzdGF0aWMgaW5saW5lIHZvaWQgbm90aWZ5UmVzb2x2ZXJXaWxsRXhpdE9iamVjdChJbmxp
bmVCaWRpUmVzb2x2ZXIqIHJlc29sdmVyLCBSZW5kZXJPYmplY3QqIG9iamVjdCkKK3sKKyAgICBp
ZiAoIXJlc29sdmVyIHx8ICFvYmplY3QtPmlzUmVuZGVySW5saW5lKCkpCisgICAgICAgIHJldHVy
bjsKKyAgICBpZiAob2JqZWN0LT5zdHlsZSgpLT51bmljb2RlQmlkaSgpID09IFVCTm9ybWFsKQor
ICAgICAgICByZXR1cm47CisgICAgcmVzb2x2ZXItPmVtYmVkKFdURjo6VW5pY29kZTo6UG9wRGly
ZWN0aW9uYWxGb3JtYXQpOworfQorCisvLyBGSVhNRTogVGhpcyBmdW5jdGlvbiBpcyBtaXNsZWFk
aW5nbHkgbmFtZWQuIEl0IGhhcyBsaXR0bGUgdG8gZG8gd2l0aCBiaWRpLgorLy8gVGhpcyBmdW5j
dGlvbiB3aWxsIGl0ZXJhdGUgb3ZlciBpbmxpbmVzIHdpdGhpbiBhIGJsb2NrLCBvcHRpb25hbGx5
IG5vdGlmeWluZworLy8gYSBiaWRpIHJlc29sdmVyIGFzIGl0IGVudGVycy9leGl0cyBpbmxpbmVz
IChzbyBpdCBjYW4gcHVzaC9wb3AgZW1iZWRkaW5nIGxldmVscykuCiBzdGF0aWMgaW5saW5lIFJl
bmRlck9iamVjdCogYmlkaU5leHQoUmVuZGVyQmxvY2sqIGJsb2NrLCBSZW5kZXJPYmplY3QqIGN1
cnJlbnQsIElubGluZUJpZGlSZXNvbHZlciogcmVzb2x2ZXIgPSAwLCBib29sIHNraXBJbmxpbmVz
ID0gdHJ1ZSwgYm9vbCogZW5kT2ZJbmxpbmVQdHIgPSAwKQogewogICAgIFJlbmRlck9iamVjdCog
bmV4dCA9IDA7CkBAIC05NiwxNiArMTI4LDcgQEAgc3RhdGljIGlubGluZSBSZW5kZXJPYmplY3Qq
IGJpZGlOZXh0KFJlbmRlckJsb2NrKiBibG9jaywgUmVuZGVyT2JqZWN0KiBjdXJyZW50LAogICAg
ICAgICBuZXh0ID0gMDsKICAgICAgICAgaWYgKCFvbGRFbmRPZklubGluZSAmJiAhY3VycmVudC0+
aXNGbG9hdGluZygpICYmICFjdXJyZW50LT5pc1JlcGxhY2VkKCkgJiYgIWN1cnJlbnQtPmlzUG9z
aXRpb25lZCgpICYmICFjdXJyZW50LT5pc1RleHQoKSkgewogICAgICAgICAgICAgbmV4dCA9IGN1
cnJlbnQtPmZpcnN0Q2hpbGQoKTsKLSAgICAgICAgICAgIGlmIChuZXh0ICYmIHJlc29sdmVyICYm
IG5leHQtPmlzUmVuZGVySW5saW5lKCkpIHsKLSAgICAgICAgICAgICAgICBFVW5pY29kZUJpZGkg
dWIgPSBuZXh0LT5zdHlsZSgpLT51bmljb2RlQmlkaSgpOwotICAgICAgICAgICAgICAgIGlmICh1
YiAhPSBVQk5vcm1hbCkgewotICAgICAgICAgICAgICAgICAgICBUZXh0RGlyZWN0aW9uIGRpciA9
IG5leHQtPnN0eWxlKCktPmRpcmVjdGlvbigpOwotICAgICAgICAgICAgICAgICAgICBXVEY6OlVu
aWNvZGU6OkRpcmVjdGlvbiBkID0gKHViID09IEVtYmVkCi0gICAgICAgICAgICAgICAgICAgICAg
ICA/IChkaXIgPT0gUlRMID8gV1RGOjpVbmljb2RlOjpSaWdodFRvTGVmdEVtYmVkZGluZyA6IFdU
Rjo6VW5pY29kZTo6TGVmdFRvUmlnaHRFbWJlZGRpbmcpCi0gICAgICAgICAgICAgICAgICAgICAg
ICA6IChkaXIgPT0gUlRMID8gV1RGOjpVbmljb2RlOjpSaWdodFRvTGVmdE92ZXJyaWRlIDogV1RG
OjpVbmljb2RlOjpMZWZ0VG9SaWdodE92ZXJyaWRlKSk7Ci0gICAgICAgICAgICAgICAgICAgIHJl
c29sdmVyLT5lbWJlZChkKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9CisgICAg
ICAgICAgICBub3RpZnlSZXNvbHZlckVudGVyZWRPYmplY3QocmVzb2x2ZXIsIG5leHQpOwogICAg
ICAgICB9CiAKICAgICAgICAgaWYgKCFuZXh0KSB7CkBAIC0xMTYsMjQgKzEzOSwxNCBAQCBzdGF0
aWMgaW5saW5lIFJlbmRlck9iamVjdCogYmlkaU5leHQoUmVuZGVyQmxvY2sqIGJsb2NrLCBSZW5k
ZXJPYmplY3QqIGN1cnJlbnQsCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHdoaWxlIChj
dXJyZW50ICYmIGN1cnJlbnQgIT0gYmxvY2spIHsKLSAgICAgICAgICAgICAgICBpZiAocmVzb2x2
ZXIgJiYgY3VycmVudC0+aXNSZW5kZXJJbmxpbmUoKSAmJiBjdXJyZW50LT5zdHlsZSgpLT51bmlj
b2RlQmlkaSgpICE9IFVCTm9ybWFsKQotICAgICAgICAgICAgICAgICAgICByZXNvbHZlci0+ZW1i
ZWQoV1RGOjpVbmljb2RlOjpQb3BEaXJlY3Rpb25hbEZvcm1hdCk7CisgICAgICAgICAgICAgICAg
bm90aWZ5UmVzb2x2ZXJXaWxsRXhpdE9iamVjdChyZXNvbHZlciwgY3VycmVudCk7CiAKICAgICAg
ICAgICAgICAgICBuZXh0ID0gY3VycmVudC0+bmV4dFNpYmxpbmcoKTsKICAgICAgICAgICAgICAg
ICBpZiAobmV4dCkgewotICAgICAgICAgICAgICAgICAgICBpZiAocmVzb2x2ZXIgJiYgbmV4dC0+
aXNSZW5kZXJJbmxpbmUoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgRVVuaWNvZGVCaWRp
IHViID0gbmV4dC0+c3R5bGUoKS0+dW5pY29kZUJpZGkoKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh1YiAhPSBVQk5vcm1hbCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRl
eHREaXJlY3Rpb24gZGlyID0gbmV4dC0+c3R5bGUoKS0+ZGlyZWN0aW9uKCk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgV1RGOjpVbmljb2RlOjpEaXJlY3Rpb24gZCA9ICh1YiA9PSBFbWJl
ZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IChkaXIgPT0gUlRMID8gV1RGOjpV
bmljb2RlOjpSaWdodFRvTGVmdEVtYmVkZGluZzogV1RGOjpVbmljb2RlOjpMZWZ0VG9SaWdodEVt
YmVkZGluZykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAoZGlyID09IFJUTCA/
IFdURjo6VW5pY29kZTo6UmlnaHRUb0xlZnRPdmVycmlkZSA6IFdURjo6VW5pY29kZTo6TGVmdFRv
UmlnaHRPdmVycmlkZSkpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVyLT5l
bWJlZChkKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgICAgICBub3RpZnlSZXNvbHZlckVudGVyZWRPYmplY3QocmVzb2x2
ZXIsIG5leHQpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgCisKICAgICAgICAgICAgICAgICBjdXJyZW50ID0gY3VycmVudC0+
cGFyZW50KCk7CiAgICAgICAgICAgICAgICAgaWYgKCFza2lwSW5saW5lcyAmJiBjdXJyZW50ICYm
IGN1cnJlbnQgIT0gYmxvY2sgJiYgY3VycmVudC0+aXNSZW5kZXJJbmxpbmUoKSkgewogICAgICAg
ICAgICAgICAgICAgICBuZXh0ID0gY3VycmVudDsKQEAgLTE2MywxOSArMTc2LDEwIEBAIHN0YXRp
YyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBiaWRpRmlyc3QoUmVuZGVyQmxvY2sqIGJsb2NrLCBJbmxp
bmVCaWRpUmVzb2x2ZXIqIHJlCiB7CiAgICAgaWYgKCFibG9jay0+Zmlyc3RDaGlsZCgpKQogICAg
ICAgICByZXR1cm4gMDsKLSAgICAKKwogICAgIFJlbmRlck9iamVjdCogbyA9IGJsb2NrLT5maXJz
dENoaWxkKCk7CiAgICAgaWYgKG8tPmlzUmVuZGVySW5saW5lKCkpIHsKLSAgICAgICAgaWYgKHJl
c29sdmVyKSB7Ci0gICAgICAgICAgICBFVW5pY29kZUJpZGkgdWIgPSBvLT5zdHlsZSgpLT51bmlj
b2RlQmlkaSgpOwotICAgICAgICAgICAgaWYgKHViICE9IFVCTm9ybWFsKSB7Ci0gICAgICAgICAg
ICAgICAgVGV4dERpcmVjdGlvbiBkaXIgPSBvLT5zdHlsZSgpLT5kaXJlY3Rpb24oKTsKLSAgICAg
ICAgICAgICAgICBXVEY6OlVuaWNvZGU6OkRpcmVjdGlvbiBkID0gKHViID09IEVtYmVkCi0gICAg
ICAgICAgICAgICAgICAgID8gKGRpciA9PSBSVEwgPyBXVEY6OlVuaWNvZGU6OlJpZ2h0VG9MZWZ0
RW1iZWRkaW5nIDogV1RGOjpVbmljb2RlOjpMZWZ0VG9SaWdodEVtYmVkZGluZykKLSAgICAgICAg
ICAgICAgICAgICAgOiAoZGlyID09IFJUTCA/IFdURjo6VW5pY29kZTo6UmlnaHRUb0xlZnRPdmVy
cmlkZSA6IFdURjo6VW5pY29kZTo6TGVmdFRvUmlnaHRPdmVycmlkZSkpOwotICAgICAgICAgICAg
ICAgIHJlc29sdmVyLT5lbWJlZChkKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAgICAg
ICBub3RpZnlSZXNvbHZlckVudGVyZWRPYmplY3QocmVzb2x2ZXIsIG8pOwogICAgICAgICBpZiAo
c2tpcElubGluZXMgJiYgby0+Zmlyc3RDaGlsZCgpKQogICAgICAgICAgICAgbyA9IGJpZGlOZXh0
KGJsb2NrLCBvLCByZXNvbHZlciwgc2tpcElubGluZXMpOwogICAgICAgICBlbHNlIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87340</attachid>
            <date>2011-03-29 09:06:24 -0700</date>
            <delta_ts>2011-03-29 10:33:42 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-57335-20110329180621.patch</filename>
            <type>text/plain</type>
            <size>6358</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODIyNTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwMzc4ZmQwM2E5MzExNWNl
NzgwNGVhYTlhNDBkZmI3MmZjMjdhM2IwLi5hM2U3NGNjZWZiYzM0NjQwNTM2NWRjZjdlMTgzNjM1
YzljMzNkZmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjIgQEAKIDIwMTEtMDMtMjkgIEVyaWMg
U2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2Ug
Tml3YS4KKworICAgICAgICBDbGVhbiB1cCBiaWRpTmV4dCBieSBhYnN0cmFjdGluZyByZXBlYXRl
ZCBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
NzMzNQorCisgICAgICAgIEkgYWxzbyBhZGRlZCBhIGNvbW1lbnQgdG8gZXhwbGFpbiB3aGF0IGJp
ZGlOZXh0IGlzIGFjdHVhbGx5IGRvaW5nLgorICAgICAgICBUaGlzIHdob2xlIGFyZWEgb2YgY29k
ZSBpcyBjb25mdXNpbmcgYnV0IG5lZWQgbm90IGJlLgorCisgICAgICAgICogcmVuZGVyaW5nL0lu
bGluZUl0ZXJhdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjplbWJlZENoYXJGcm9tRGlyZWN0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6Om5vdGlmeVJlc29sdmVyRW50ZXJlZE9iamVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpub3RpZnlSZXNvbHZlcldpbGxFeGl0T2JqZWN0KToKKyAgICAgICAgKFdl
YkNvcmU6OmJpZGlOZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OmJpZGlGaXJzdCk6CisKKzIwMTEt
MDMtMjkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCiAgICAgICAgIFJldmlld2Vk
IGJ5IE5pa29sYXMgWmltbWVybWFubi4KIAogICAgICAgICBSZW5hbWUgSW5saW5lSXRlcmF0b3I6
OnBvcyB0byBtX3BvcyB0byBtYXRjaCBtb2Rlcm4gc3R5bGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVJdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUl0ZXJhdG9yLmgKaW5kZXggZjI2OWYxNzk4MDAyMTQ4MTc2ZDRlNGY2MDg1MGVl
NDhkZmRmYmVkMC4uMmE3MTU1OWJkMzQ0OTg2OThkZWVjNmIyNTA4ZjhjMWI1MDUyMGRiNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUl0ZXJhdG9yLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUl0ZXJhdG9yLmgKQEAgLTcxLDYgKzcxLDM4
IEBAIGlubGluZSBib29sIG9wZXJhdG9yIT0oY29uc3QgSW5saW5lSXRlcmF0b3ImIGl0MSwgY29u
c3QgSW5saW5lSXRlcmF0b3ImIGl0MikKICAgICByZXR1cm4gaXQxLm1fcG9zICE9IGl0Mi5tX3Bv
cyB8fCBpdDEubV9vYmogIT0gaXQyLm1fb2JqOwogfQogCitzdGF0aWMgaW5saW5lIFdURjo6VW5p
Y29kZTo6RGlyZWN0aW9uIGVtYmVkQ2hhckZyb21EaXJlY3Rpb24oVGV4dERpcmVjdGlvbiBkaXIs
IEVVbmljb2RlQmlkaSB1bmljb2RlQmlkaSkKK3sKKyAgICB1c2luZyBuYW1lc3BhY2UgV1RGOjpV
bmljb2RlOworICAgIGlmICh1bmljb2RlQmlkaSA9PSBFbWJlZCkKKyAgICAgICAgcmV0dXJuIGRp
ciA9PSBSVEwgPyBSaWdodFRvTGVmdEVtYmVkZGluZyA6IExlZnRUb1JpZ2h0RW1iZWRkaW5nOwor
ICAgIHJldHVybiBkaXIgPT0gUlRMID8gUmlnaHRUb0xlZnRPdmVycmlkZSA6IExlZnRUb1JpZ2h0
T3ZlcnJpZGU7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBub3RpZnlSZXNvbHZlckVudGVyZWRP
YmplY3QoSW5saW5lQmlkaVJlc29sdmVyKiByZXNvbHZlciwgUmVuZGVyT2JqZWN0KiBvYmplY3Qp
Cit7CisgICAgaWYgKCFyZXNvbHZlciB8fCAhb2JqZWN0IHx8ICFvYmplY3QtPmlzUmVuZGVySW5s
aW5lKCkpCisgICAgICAgIHJldHVybjsKKworICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IG9iamVj
dC0+c3R5bGUoKTsKKyAgICBFVW5pY29kZUJpZGkgdW5pY29kZUJpZGkgPSBzdHlsZS0+dW5pY29k
ZUJpZGkoKTsKKyAgICBpZiAodW5pY29kZUJpZGkgPT0gVUJOb3JtYWwpCisgICAgICAgIHJldHVy
bjsKKyAgICByZXNvbHZlci0+ZW1iZWQoZW1iZWRDaGFyRnJvbURpcmVjdGlvbihzdHlsZS0+ZGly
ZWN0aW9uKCksIHVuaWNvZGVCaWRpKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBub3RpZnlS
ZXNvbHZlcldpbGxFeGl0T2JqZWN0KElubGluZUJpZGlSZXNvbHZlciogcmVzb2x2ZXIsIFJlbmRl
ck9iamVjdCogb2JqZWN0KQoreworICAgIGlmICghcmVzb2x2ZXIgfHwgIW9iamVjdCB8fCAhb2Jq
ZWN0LT5pc1JlbmRlcklubGluZSgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKG9iamVjdC0+
c3R5bGUoKS0+dW5pY29kZUJpZGkoKSA9PSBVQk5vcm1hbCkKKyAgICAgICAgcmV0dXJuOworICAg
IHJlc29sdmVyLT5lbWJlZChXVEY6OlVuaWNvZGU6OlBvcERpcmVjdGlvbmFsRm9ybWF0KTsKK30K
KworLy8gRklYTUU6IFRoaXMgZnVuY3Rpb24gaXMgbWlzbGVhZGluZ2x5IG5hbWVkLiBJdCBoYXMg
bGl0dGxlIHRvIGRvIHdpdGggYmlkaS4KKy8vIFRoaXMgZnVuY3Rpb24gd2lsbCBpdGVyYXRlIG92
ZXIgaW5saW5lcyB3aXRoaW4gYSBibG9jaywgb3B0aW9uYWxseSBub3RpZnlpbmcKKy8vIGEgYmlk
aSByZXNvbHZlciBhcyBpdCBlbnRlcnMvZXhpdHMgaW5saW5lcyAoc28gaXQgY2FuIHB1c2gvcG9w
IGVtYmVkZGluZyBsZXZlbHMpLgogc3RhdGljIGlubGluZSBSZW5kZXJPYmplY3QqIGJpZGlOZXh0
KFJlbmRlckJsb2NrKiBibG9jaywgUmVuZGVyT2JqZWN0KiBjdXJyZW50LCBJbmxpbmVCaWRpUmVz
b2x2ZXIqIHJlc29sdmVyID0gMCwgYm9vbCBza2lwSW5saW5lcyA9IHRydWUsIGJvb2wqIGVuZE9m
SW5saW5lUHRyID0gMCkKIHsKICAgICBSZW5kZXJPYmplY3QqIG5leHQgPSAwOwpAQCAtODEsMTYg
KzExMyw3IEBAIHN0YXRpYyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBiaWRpTmV4dChSZW5kZXJCbG9j
ayogYmxvY2ssIFJlbmRlck9iamVjdCogY3VycmVudCwKICAgICAgICAgbmV4dCA9IDA7CiAgICAg
ICAgIGlmICghb2xkRW5kT2ZJbmxpbmUgJiYgIWN1cnJlbnQtPmlzRmxvYXRpbmcoKSAmJiAhY3Vy
cmVudC0+aXNSZXBsYWNlZCgpICYmICFjdXJyZW50LT5pc1Bvc2l0aW9uZWQoKSAmJiAhY3VycmVu
dC0+aXNUZXh0KCkpIHsKICAgICAgICAgICAgIG5leHQgPSBjdXJyZW50LT5maXJzdENoaWxkKCk7
Ci0gICAgICAgICAgICBpZiAobmV4dCAmJiByZXNvbHZlciAmJiBuZXh0LT5pc1JlbmRlcklubGlu
ZSgpKSB7Ci0gICAgICAgICAgICAgICAgRVVuaWNvZGVCaWRpIHViID0gbmV4dC0+c3R5bGUoKS0+
dW5pY29kZUJpZGkoKTsKLSAgICAgICAgICAgICAgICBpZiAodWIgIT0gVUJOb3JtYWwpIHsKLSAg
ICAgICAgICAgICAgICAgICAgVGV4dERpcmVjdGlvbiBkaXIgPSBuZXh0LT5zdHlsZSgpLT5kaXJl
Y3Rpb24oKTsKLSAgICAgICAgICAgICAgICAgICAgV1RGOjpVbmljb2RlOjpEaXJlY3Rpb24gZCA9
ICh1YiA9PSBFbWJlZAotICAgICAgICAgICAgICAgICAgICAgICAgPyAoZGlyID09IFJUTCA/IFdU
Rjo6VW5pY29kZTo6UmlnaHRUb0xlZnRFbWJlZGRpbmcgOiBXVEY6OlVuaWNvZGU6OkxlZnRUb1Jp
Z2h0RW1iZWRkaW5nKQotICAgICAgICAgICAgICAgICAgICAgICAgOiAoZGlyID09IFJUTCA/IFdU
Rjo6VW5pY29kZTo6UmlnaHRUb0xlZnRPdmVycmlkZSA6IFdURjo6VW5pY29kZTo6TGVmdFRvUmln
aHRPdmVycmlkZSkpOwotICAgICAgICAgICAgICAgICAgICByZXNvbHZlci0+ZW1iZWQoZCk7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQorICAgICAgICAgICAgbm90aWZ5UmVzb2x2
ZXJFbnRlcmVkT2JqZWN0KHJlc29sdmVyLCBuZXh0KTsKICAgICAgICAgfQogCiAgICAgICAgIGlm
ICghbmV4dCkgewpAQCAtMTAxLDI0ICsxMjQsMTQgQEAgc3RhdGljIGlubGluZSBSZW5kZXJPYmpl
Y3QqIGJpZGlOZXh0KFJlbmRlckJsb2NrKiBibG9jaywgUmVuZGVyT2JqZWN0KiBjdXJyZW50LAog
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICB3aGlsZSAoY3VycmVudCAmJiBjdXJyZW50ICE9
IGJsb2NrKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHJlc29sdmVyICYmIGN1cnJlbnQtPmlzUmVu
ZGVySW5saW5lKCkgJiYgY3VycmVudC0+c3R5bGUoKS0+dW5pY29kZUJpZGkoKSAhPSBVQk5vcm1h
bCkKLSAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZXItPmVtYmVkKFdURjo6VW5pY29kZTo6UG9w
RGlyZWN0aW9uYWxGb3JtYXQpOworICAgICAgICAgICAgICAgIG5vdGlmeVJlc29sdmVyV2lsbEV4
aXRPYmplY3QocmVzb2x2ZXIsIGN1cnJlbnQpOwogCiAgICAgICAgICAgICAgICAgbmV4dCA9IGN1
cnJlbnQtPm5leHRTaWJsaW5nKCk7CiAgICAgICAgICAgICAgICAgaWYgKG5leHQpIHsKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKHJlc29sdmVyICYmIG5leHQtPmlzUmVuZGVySW5saW5lKCkpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIEVVbmljb2RlQmlkaSB1YiA9IG5leHQtPnN0eWxlKCkt
PnVuaWNvZGVCaWRpKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAodWIgIT0gVUJOb3Jt
YWwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZXh0RGlyZWN0aW9uIGRpciA9IG5l
eHQtPnN0eWxlKCktPmRpcmVjdGlvbigpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdU
Rjo6VW5pY29kZTo6RGlyZWN0aW9uIGQgPSAodWIgPT0gRW1iZWQKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPyAoZGlyID09IFJUTCA/IFdURjo6VW5pY29kZTo6UmlnaHRUb0xlZnRF
bWJlZGRpbmc6IFdURjo6VW5pY29kZTo6TGVmdFRvUmlnaHRFbWJlZGRpbmcpCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDogKGRpciA9PSBSVEwgPyBXVEY6OlVuaWNvZGU6OlJpZ2h0
VG9MZWZ0T3ZlcnJpZGUgOiBXVEY6OlVuaWNvZGU6OkxlZnRUb1JpZ2h0T3ZlcnJpZGUpKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlci0+ZW1iZWQoZCk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAg
ICAgbm90aWZ5UmVzb2x2ZXJFbnRlcmVkT2JqZWN0KHJlc29sdmVyLCBuZXh0KTsKICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIAor
CiAgICAgICAgICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQtPnBhcmVudCgpOwogICAgICAgICAg
ICAgICAgIGlmICghc2tpcElubGluZXMgJiYgY3VycmVudCAmJiBjdXJyZW50ICE9IGJsb2NrICYm
IGN1cnJlbnQtPmlzUmVuZGVySW5saW5lKCkpIHsKICAgICAgICAgICAgICAgICAgICAgbmV4dCA9
IGN1cnJlbnQ7CkBAIC0xNDgsMTkgKzE2MSwxMCBAQCBzdGF0aWMgaW5saW5lIFJlbmRlck9iamVj
dCogYmlkaUZpcnN0KFJlbmRlckJsb2NrKiBibG9jaywgSW5saW5lQmlkaVJlc29sdmVyKiByZQog
ewogICAgIGlmICghYmxvY2stPmZpcnN0Q2hpbGQoKSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAg
CisKICAgICBSZW5kZXJPYmplY3QqIG8gPSBibG9jay0+Zmlyc3RDaGlsZCgpOwogICAgIGlmIChv
LT5pc1JlbmRlcklubGluZSgpKSB7Ci0gICAgICAgIGlmIChyZXNvbHZlcikgewotICAgICAgICAg
ICAgRVVuaWNvZGVCaWRpIHViID0gby0+c3R5bGUoKS0+dW5pY29kZUJpZGkoKTsKLSAgICAgICAg
ICAgIGlmICh1YiAhPSBVQk5vcm1hbCkgewotICAgICAgICAgICAgICAgIFRleHREaXJlY3Rpb24g
ZGlyID0gby0+c3R5bGUoKS0+ZGlyZWN0aW9uKCk7Ci0gICAgICAgICAgICAgICAgV1RGOjpVbmlj
b2RlOjpEaXJlY3Rpb24gZCA9ICh1YiA9PSBFbWJlZAotICAgICAgICAgICAgICAgICAgICA/IChk
aXIgPT0gUlRMID8gV1RGOjpVbmljb2RlOjpSaWdodFRvTGVmdEVtYmVkZGluZyA6IFdURjo6VW5p
Y29kZTo6TGVmdFRvUmlnaHRFbWJlZGRpbmcpCi0gICAgICAgICAgICAgICAgICAgIDogKGRpciA9
PSBSVEwgPyBXVEY6OlVuaWNvZGU6OlJpZ2h0VG9MZWZ0T3ZlcnJpZGUgOiBXVEY6OlVuaWNvZGU6
OkxlZnRUb1JpZ2h0T3ZlcnJpZGUpKTsKLSAgICAgICAgICAgICAgICByZXNvbHZlci0+ZW1iZWQo
ZCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICAgICAgbm90aWZ5UmVzb2x2ZXJFbnRl
cmVkT2JqZWN0KHJlc29sdmVyLCBvKTsKICAgICAgICAgaWYgKHNraXBJbmxpbmVzICYmIG8tPmZp
cnN0Q2hpbGQoKSkKICAgICAgICAgICAgIG8gPSBiaWRpTmV4dChibG9jaywgbywgcmVzb2x2ZXIs
IHNraXBJbmxpbmVzKTsKICAgICAgICAgZWxzZSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>