<?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>83147</bug_id>
          
          <creation_ts>2012-04-04 04:50:55 -0700</creation_ts>
          <short_desc>Update LayoutUnit usage in RenderView</short_desc>
          <delta_ts>2012-04-06 13:05:19 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          <dependson>83372</dependson>
          <blocked>60318</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Levi Weintraub">leviw</assigned_to>
          <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>595420</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-04-04 04:50:55 -0700</bug_when>
    <thetext>Mostly updating painting functions. Also adding an assert to ensure views aren&apos;t called to paint at sub-pixel coordinates, since currently this is never expected behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595443</commentid>
    <comment_count>1</comment_count>
      <attachid>135565</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-04-04 05:29:08 -0700</bug_when>
    <thetext>Created attachment 135565
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597164</commentid>
    <comment_count>2</comment_count>
      <attachid>135565</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-04-05 20:06:23 -0700</bug_when>
    <thetext>Comment on attachment 135565
Patch

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

&gt; Source/WebCore/rendering/RenderView.cpp:221
&gt; +    // RenderViews should never be called to paint with an offset not on device pixels.
&gt; +    ASSERT(LayoutPoint(IntPoint(paintOffset.x(), paintOffset.y())) == paintOffset);

I feel this will be used at several places to ensure that we properly converted / rounded. Maybe it would be worth having a convenience function to check that (like bool isPixelAlignedLayoutPoint)?

&gt; Source/WebCore/rendering/RenderView.cpp:-329
&gt; -        // FIXME: Hardcoded offsets here are not good.

I think this comment still applies. I read this comment as: the offset is hardcoded to the start of the object padding box (which it still is). I wonder if it really does add something though.

&gt; Source/WebCore/rendering/RenderView.h:72
&gt; +    virtual void computeRectForRepaint(RenderBoxModelObject* repaintContainer, LayoutRect&amp;, bool fixed = false) const;
&gt; +    virtual void repaintViewRectangle(const LayoutRect&amp;, bool immediate = false);

please decorate the virtual overridden functions as you go with OVERRIDE (not repeated).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597307</commentid>
    <comment_count>3</comment_count>
      <attachid>136009</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-04-06 05:39:49 -0700</bug_when>
    <thetext>Created attachment 136009
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597337</commentid>
    <comment_count>4</comment_count>
      <attachid>136009</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-06 07:11:01 -0700</bug_when>
    <thetext>Comment on attachment 136009
Patch for landing

Clearing flags on attachment: 136009

Committed r113431: &lt;http://trac.webkit.org/changeset/113431&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597338</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-06 07:11:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597383</commentid>
    <comment_count>6</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-04-06 08:38:20 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597384</commentid>
    <comment_count>7</comment_count>
      <attachid>136028</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-04-06 08:38:27 -0700</bug_when>
    <thetext>Created attachment 136028
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597385</commentid>
    <comment_count>8</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-04-06 08:39:04 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Created an attachment (id=136028) [details]
&gt; Patch for landing

Removed the offending overrides.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597583</commentid>
    <comment_count>9</comment_count>
      <attachid>136028</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-06 13:05:14 -0700</bug_when>
    <thetext>Comment on attachment 136028
Patch for landing

Clearing flags on attachment: 136028

Committed r113487: &lt;http://trac.webkit.org/changeset/113487&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597584</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-06 13:05:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135565</attachid>
            <date>2012-04-04 05:29:08 -0700</date>
            <delta_ts>2012-04-06 05:39:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83147-20120404142906.patch</filename>
            <type>text/plain</type>
            <size>8867</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA0LTA0ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBVcGRhdGUgTGF5b3V0VW5p
dCB1c2FnZSBpbiBSZW5kZXJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MzE0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFVwZGF0aW5nIHRoZSB1c2FnZSBvZiBMYXlvdXRVbml0cyBpbiBSZW5kZXJW
aWV3IGluIHByZXBhcmF0aW9uIGZvciBzdWItcGl4ZWwgbGF5b3V0LiBUaGlzIG1vc3RseQorICAg
ICAgICBhZmZlY3RzIHBhaW50IGFuZCByZXBhaW50IGZ1bmN0aW9ucywgd2hpY2ggdGFrZSBMYXlv
dXRSZWN0cyB1cCB0byB0aGUgUmVuZGVyVmlldyBsZXZlbC4gVGhpcyBpcworICAgICAgICBuZWNl
c3NhcnkgYXMgd2UgY29udGludWUgdG8gYWNjdW11bGF0ZSBzdWItcGl4ZWwgb2Zmc2V0cyB1cCB0
byB0aGlzIGxldmVsLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2
aW9yLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVmlldzo6cGFpbnQpOiBBZGRpbmcgYW4gYXNzZXJ0IHRoYXQgd2UncmUgYmVp
bmcgY2FsbGVkIHRvIHBhaW50IG9uIHBpeGVsCisgICAgICAgIGJvdW5kYXJpZXMuIFdlIGRvbid0
IGN1cnJlbnRseSBldmVyIHBvc2l0aW9uIFJlbmRlclZpZXdzIGF0IHN1Yi1waXhlbCBvZmZzZXRz
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6c2hvdWxkUmVwYWludCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJWaWV3OjpyZXBhaW50Vmlld1JlY3RhbmdsZSk6IFN3aXRjaGluZyB0
byBhIExheW91dFJlY3QgYW5kIGNsZWFuaW5nIHVwIGEgZml4bWUKKyAgICAgICAgdGhhdCB1c2Vk
IGRlY29tcG9zZWQgb2Zmc2V0cy4gUGl4ZWwgc25hcHBpbmcgaXMgYXBwbGllZCBiZWZvcmUgaGFu
ZGluZyB0aGUgcmVjdCB1cCB0byB0aGUKKyAgICAgICAgRnJhbWVWaWV3LgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVmlldzo6cmVwYWludFJlY3RhbmdsZUluVmlld0FuZENvbXBvc2l0ZWRMYXll
cnMpOiBQaXhlbCBzbmFwcGluZyBiZWZvcmUgaGFuZGluZworICAgICAgICB0aGUgcmVjdCB1cCB0
byB0aGUgQ29tcG9zaXRvci4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OmNvbXB1dGVS
ZWN0Rm9yUmVwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpzZWxlY3Rpb25C
b3VuZHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6dmlld1JlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6dW5zY2FsZWREb2N1bWVudFJlY3QpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJWaWV3Lmg6CisgICAgICAgIChSZW5kZXJWaWV3KToKKwogMjAxMi0w
NC0wNCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBmcm9udC1lbmQgc2hvdWxkIGFjY2VwdCByYXcgd2ViIHNvY2tldCBhZGRy
ZXNzIGZvciB0aGUgcmVtb3RlIGNvbm5lY3Rpb24uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclZpZXcuY3BwCShyZXZpc2lvbiAxMTMxNjEpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxNyw2ICsyMTcsOCBA
QCB2b2lkIFJlbmRlclZpZXc6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJCiB7CiAgICAgLy8gSWYg
d2UgZXZlciByZXF1aXJlIGxheW91dCBidXQgcmVjZWl2ZSBhIHBhaW50IGFueXdheSwgc29tZXRo
aW5nIGhhcyBnb25lIGhvcnJpYmx5IHdyb25nLgogICAgIEFTU0VSVCghbmVlZHNMYXlvdXQoKSk7
CisgICAgLy8gUmVuZGVyVmlld3Mgc2hvdWxkIG5ldmVyIGJlIGNhbGxlZCB0byBwYWludCB3aXRo
IGFuIG9mZnNldCBub3Qgb24gZGV2aWNlIHBpeGVscy4KKyAgICBBU1NFUlQoTGF5b3V0UG9pbnQo
SW50UG9pbnQocGFpbnRPZmZzZXQueCgpLCBwYWludE9mZnNldC55KCkpKSA9PSBwYWludE9mZnNl
dCk7CiAgICAgcGFpbnRPYmplY3QocGFpbnRJbmZvLCBwYWludE9mZnNldCk7CiB9CiAKQEAgLTI5
NCw3ICsyOTYsNyBAQCB2b2lkIFJlbmRlclZpZXc6OnBhaW50Qm94RGVjb3JhdGlvbnMoUGFpCiAg
ICAgfQogfQogCi1ib29sIFJlbmRlclZpZXc6OnNob3VsZFJlcGFpbnQoY29uc3QgSW50UmVjdCYg
cikgY29uc3QKK2Jvb2wgUmVuZGVyVmlldzo6c2hvdWxkUmVwYWludChjb25zdCBMYXlvdXRSZWN0
JiByKSBjb25zdAogewogICAgIGlmIChwcmludGluZygpIHx8IHIud2lkdGgoKSA9PSAwIHx8IHIu
aGVpZ2h0KCkgPT0gMCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMzA4LDcgKzMxMCw3IEBA
IGJvb2wgUmVuZGVyVmlldzo6c2hvdWxkUmVwYWludChjb25zdCBJbnQKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotdm9pZCBSZW5kZXJWaWV3OjpyZXBhaW50Vmlld1JlY3RhbmdsZShjb25zdCBJbnRS
ZWN0JiB1ciwgYm9vbCBpbW1lZGlhdGUpCit2b2lkIFJlbmRlclZpZXc6OnJlcGFpbnRWaWV3UmVj
dGFuZ2xlKGNvbnN0IExheW91dFJlY3QmIHVyLCBib29sIGltbWVkaWF0ZSkKIHsKICAgICBpZiAo
IXNob3VsZFJlcGFpbnQodXIpKQogICAgICAgICByZXR1cm47CkBAIC0zMTcsMjMgKzMxOSwyMSBA
QCB2b2lkIFJlbmRlclZpZXc6OnJlcGFpbnRWaWV3UmVjdGFuZ2xlKGNvCiAgICAgLy8gb3IgZXZl
biBpbnZpc2libGUuCiAgICAgRWxlbWVudCogZWx0ID0gZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50
KCk7CiAgICAgaWYgKCFlbHQpCi0gICAgICAgIG1fZnJhbWVWaWV3LT5yZXBhaW50Q29udGVudFJl
Y3RhbmdsZSh1ciwgaW1tZWRpYXRlKTsKKyAgICAgICAgbV9mcmFtZVZpZXctPnJlcGFpbnRDb250
ZW50UmVjdGFuZ2xlKHBpeGVsU25hcHBlZEludFJlY3QodXIpLCBpbW1lZGlhdGUpOwogICAgIGVs
c2UgaWYgKFJlbmRlckJveCogb2JqID0gZWx0LT5yZW5kZXJCb3goKSkgewotICAgICAgICBJbnRS
ZWN0IHZyID0gdmlld1JlY3QoKTsKLSAgICAgICAgSW50UmVjdCByID0gaW50ZXJzZWN0aW9uKHVy
LCB2cik7CisgICAgICAgIExheW91dFJlY3QgdnIgPSB2aWV3UmVjdCgpOworICAgICAgICBMYXlv
dXRSZWN0IHIgPSBpbnRlcnNlY3Rpb24odXIsIHZyKTsKICAgICAgICAgCiAgICAgICAgIC8vIFN1
YnRyYWN0IG91dCB0aGUgY29udGVudHNYIGFuZCBjb250ZW50c1kgb2Zmc2V0cyB0byBnZXQgb3Vy
IGNvb3JkcyB3aXRoaW4gdGhlIHZpZXdpbmcKICAgICAgICAgLy8gcmVjdGFuZ2xlLgogICAgICAg
ICByLm1vdmVCeSgtdnIubG9jYXRpb24oKSk7CiAgICAgICAgIAotICAgICAgICAvLyBGSVhNRTog
SGFyZGNvZGVkIG9mZnNldHMgaGVyZSBhcmUgbm90IGdvb2QuCi0gICAgICAgIHIubW92ZShvYmot
PmJvcmRlckxlZnQoKSArIG9iai0+cGFkZGluZ0xlZnQoKSwKLSAgICAgICAgICAgICAgIG9iai0+
Ym9yZGVyVG9wKCkgKyBvYmotPnBhZGRpbmdUb3AoKSk7CisgICAgICAgIHIubW92ZUJ5KG9iai0+
Y29udGVudEJveFJlY3QoKS5sb2NhdGlvbigpKTsKICAgICAgICAgb2JqLT5yZXBhaW50UmVjdGFu
Z2xlKHIsIGltbWVkaWF0ZSk7CiAgICAgfQogfQogCi12b2lkIFJlbmRlclZpZXc6OnJlcGFpbnRS
ZWN0YW5nbGVJblZpZXdBbmRDb21wb3NpdGVkTGF5ZXJzKGNvbnN0IEludFJlY3QmIHVyLCBib29s
IGltbWVkaWF0ZSkKK3ZvaWQgUmVuZGVyVmlldzo6cmVwYWludFJlY3RhbmdsZUluVmlld0FuZENv
bXBvc2l0ZWRMYXllcnMoY29uc3QgTGF5b3V0UmVjdCYgdXIsIGJvb2wgaW1tZWRpYXRlKQogewog
ICAgIGlmICghc2hvdWxkUmVwYWludCh1cikpCiAgICAgICAgIHJldHVybjsKQEAgLTM0MiwxMSAr
MzQyLDExIEBAIHZvaWQgUmVuZGVyVmlldzo6cmVwYWludFJlY3RhbmdsZUluVmlld0EKICAgICAK
ICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgaWYgKGNvbXBvc2l0b3IoKS0+
aW5Db21wb3NpdGluZ01vZGUoKSkKLSAgICAgICAgY29tcG9zaXRvcigpLT5yZXBhaW50Q29tcG9z
aXRlZExheWVyc0Fic29sdXRlUmVjdCh1cik7CisgICAgICAgIGNvbXBvc2l0b3IoKS0+cmVwYWlu
dENvbXBvc2l0ZWRMYXllcnNBYnNvbHV0ZVJlY3QocGl4ZWxTbmFwcGVkSW50UmVjdCh1cikpOwog
I2VuZGlmCiB9CiAKLXZvaWQgUmVuZGVyVmlldzo6Y29tcHV0ZVJlY3RGb3JSZXBhaW50KFJlbmRl
ckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBJbnRSZWN0JiByZWN0LCBib29sIGZp
eGVkKSBjb25zdAordm9pZCBSZW5kZXJWaWV3Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVy
Qm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIExheW91dFJlY3QmIHJlY3QsIGJvb2wg
Zml4ZWQpIGNvbnN0CiB7CiAgICAgLy8gSWYgYSBjb250YWluZXIgd2FzIHNwZWNpZmllZCwgYW5k
IHdhcyBub3QgMCBvciB0aGUgUmVuZGVyVmlldywKICAgICAvLyB0aGVuIHdlIHNob3VsZCBoYXZl
IGZvdW5kIGl0IGJ5IG5vdy4KQEAgLTQyMCwxMiArNDIwLDEyIEBAIEludFJlY3QgUmVuZGVyVmll
dzo6c2VsZWN0aW9uQm91bmRzKGJvb2wKICAgICB9CiAKICAgICAvLyBOb3cgY3JlYXRlIGEgc2lu
Z2xlIGJvdW5kaW5nIGJveCByZWN0IHRoYXQgZW5jbG9zZXMgdGhlIHdob2xlIHNlbGVjdGlvbi4K
LSAgICBJbnRSZWN0IHNlbFJlY3Q7CisgICAgTGF5b3V0UmVjdCBzZWxSZWN0OwogICAgIFNlbGVj
dGlvbk1hcDo6aXRlcmF0b3IgZW5kID0gc2VsZWN0ZWRPYmplY3RzLmVuZCgpOwogICAgIGZvciAo
U2VsZWN0aW9uTWFwOjppdGVyYXRvciBpID0gc2VsZWN0ZWRPYmplY3RzLmJlZ2luKCk7IGkgIT0g
ZW5kOyArK2kpIHsKICAgICAgICAgUmVuZGVyU2VsZWN0aW9uSW5mbyogaW5mbyA9IGktPnNlY29u
ZDsKICAgICAgICAgLy8gUmVuZGVyU2VsZWN0aW9uSW5mbzo6cmVjdCgpIGlzIGluIHRoZSBjb29y
ZGluYXRlcyBvZiB0aGUgcmVwYWludENvbnRhaW5lciwgc28gbWFwIHRvIHBhZ2UgY29vcmRpbmF0
ZXMuCi0gICAgICAgIEludFJlY3QgY3VyclJlY3QgPSBpbmZvLT5yZWN0KCk7CisgICAgICAgIExh
eW91dFJlY3QgY3VyclJlY3QgPSBpbmZvLT5yZWN0KCk7CiAgICAgICAgIGlmIChSZW5kZXJCb3hN
b2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciA9IGluZm8tPnJlcGFpbnRDb250YWluZXIoKSkg
ewogICAgICAgICAgICAgRmxvYXRRdWFkIGFic1F1YWQgPSByZXBhaW50Q29udGFpbmVyLT5sb2Nh
bFRvQWJzb2x1dGVRdWFkKEZsb2F0UmVjdChjdXJyUmVjdCkpOwogICAgICAgICAgICAgY3VyclJl
Y3QgPSBhYnNRdWFkLmVuY2xvc2luZ0JvdW5kaW5nQm94KCk7IApAQCAtNDMzLDcgKzQzMyw3IEBA
IEludFJlY3QgUmVuZGVyVmlldzo6c2VsZWN0aW9uQm91bmRzKGJvb2wKICAgICAgICAgc2VsUmVj
dC51bml0ZShjdXJyUmVjdCk7CiAgICAgICAgIGRlbGV0ZSBpbmZvOwogICAgIH0KLSAgICByZXR1
cm4gc2VsUmVjdDsKKyAgICByZXR1cm4gcGl4ZWxTbmFwcGVkSW50UmVjdChzZWxSZWN0KTsKIH0K
IAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKQEAgLTcwNiwyMSArNzA2LDIxIEBA
IHZvaWQgUmVuZGVyVmlldzo6bm90aWZ5V2lkZ2V0cyhXaWRnZXROb3QKICAgICByZWxlYXNlV2lk
Z2V0cyhyZW5kZXJXaWRnZXRzKTsKIH0KIAotSW50UmVjdCBSZW5kZXJWaWV3Ojp2aWV3UmVjdCgp
IGNvbnN0CitMYXlvdXRSZWN0IFJlbmRlclZpZXc6OnZpZXdSZWN0KCkgY29uc3QKIHsKICAgICBp
ZiAocHJpbnRpbmcoKSkKLSAgICAgICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQoKSwgc2l6ZSgp
KTsKKyAgICAgICAgcmV0dXJuIExheW91dFJlY3QoTGF5b3V0UG9pbnQoKSwgc2l6ZSgpKTsKICAg
ICBpZiAobV9mcmFtZVZpZXcpCiAgICAgICAgIHJldHVybiBtX2ZyYW1lVmlldy0+dmlzaWJsZUNv
bnRlbnRSZWN0KCk7Ci0gICAgcmV0dXJuIEludFJlY3QoKTsKKyAgICByZXR1cm4gTGF5b3V0UmVj
dCgpOwogfQogCiAKIEludFJlY3QgUmVuZGVyVmlldzo6dW5zY2FsZWREb2N1bWVudFJlY3QoKSBj
b25zdAogewotICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KGxheW91dE92ZXJmbG93UmVjdCgpKTsK
KyAgICBMYXlvdXRSZWN0IG92ZXJmbG93UmVjdChsYXlvdXRPdmVyZmxvd1JlY3QoKSk7CiAgICAg
ZmxpcEZvcldyaXRpbmdNb2RlKG92ZXJmbG93UmVjdCk7Ci0gICAgcmV0dXJuIG92ZXJmbG93UmVj
dDsKKyAgICByZXR1cm4gcGl4ZWxTbmFwcGVkSW50UmVjdChvdmVyZmxvd1JlY3QpOwogfQogCiBM
YXlvdXRSZWN0IFJlbmRlclZpZXc6OmJhY2tncm91bmRSZWN0KFJlbmRlckJveCogYmFja2dyb3Vu
ZFJlbmRlcmVyKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5o
CShyZXZpc2lvbiAxMTMxNjEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCwxNCArNjgsMTQgQEAgcHVibGljOgogCiAgICAgRnJh
bWVWaWV3KiBmcmFtZVZpZXcoKSBjb25zdCB7IHJldHVybiBtX2ZyYW1lVmlldzsgfQogCi0gICAg
dmlydHVhbCB2b2lkIGNvbXB1dGVSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCog
cmVwYWludENvbnRhaW5lciwgSW50UmVjdCYsIGJvb2wgZml4ZWQgPSBmYWxzZSkgY29uc3Q7Ci0g
ICAgdmlydHVhbCB2b2lkIHJlcGFpbnRWaWV3UmVjdGFuZ2xlKGNvbnN0IEludFJlY3QmLCBib29s
IGltbWVkaWF0ZSA9IGZhbHNlKTsKKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVJlY3RGb3JSZXBh
aW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBMYXlvdXRSZWN0Jiwg
Ym9vbCBmaXhlZCA9IGZhbHNlKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVwYWludFZpZXdS
ZWN0YW5nbGUoY29uc3QgTGF5b3V0UmVjdCYsIGJvb2wgaW1tZWRpYXRlID0gZmFsc2UpOwogICAg
IC8vIFJlcGFpbnQgdGhlIHZpZXcsIGFuZCBhbGwgY29tcG9zaXRlZCBsYXllcnMgdGhhdCBpbnRl
cnNlY3QgdGhlIGdpdmVuIGFic29sdXRlIHJlY3RhbmdsZS4KICAgICAvLyBGSVhNRTogaWRlYWxs
eSB3ZSdkIG5ldmVyIGhhdmUgdG8gZG8gdGhpcywgaWYgYWxsIHJlcGFpbnRzIGFyZSBjb250YWlu
ZXItcmVsYXRpdmUuCi0gICAgdmlydHVhbCB2b2lkIHJlcGFpbnRSZWN0YW5nbGVJblZpZXdBbmRD
b21wb3NpdGVkTGF5ZXJzKGNvbnN0IEludFJlY3QmLCBib29sIGltbWVkaWF0ZSA9IGZhbHNlKTsK
KyAgICB2aXJ0dWFsIHZvaWQgcmVwYWludFJlY3RhbmdsZUluVmlld0FuZENvbXBvc2l0ZWRMYXll
cnMoY29uc3QgTGF5b3V0UmVjdCYsIGJvb2wgaW1tZWRpYXRlID0gZmFsc2UpOwogCiAgICAgdmly
dHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7Ci0gICAgdmly
dHVhbCB2b2lkIHBhaW50Qm94RGVjb3JhdGlvbnMoUGFpbnRJbmZvJiwgY29uc3QgSW50UG9pbnQm
KTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRCb3hEZWNvcmF0aW9ucyhQYWludEluZm8mLCBjb25z
dCBMYXlvdXRQb2ludCYpOwogCiAgICAgZW51bSBTZWxlY3Rpb25SZXBhaW50TW9kZSB7IFJlcGFp
bnROZXdYT1JPbGQsIFJlcGFpbnROZXdNaW51c09sZCwgUmVwYWludE5vdGhpbmcgfTsKICAgICB2
b2lkIHNldFNlbGVjdGlvbihSZW5kZXJPYmplY3QqIHN0YXJ0LCBpbnQgc3RhcnRQb3MsIFJlbmRl
ck9iamVjdCogZW5kLCBpbnQgZW5kUG9zLCBTZWxlY3Rpb25SZXBhaW50TW9kZSA9IFJlcGFpbnRO
ZXdYT1JPbGQpOwpAQCAtOTgsNyArOTgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICBpbnQgbWF4
aW1hbE91dGxpbmVTaXplKCkgY29uc3QgeyByZXR1cm4gbV9tYXhpbWFsT3V0bGluZVNpemU7IH0K
IAotICAgIHZpcnR1YWwgSW50UmVjdCB2aWV3UmVjdCgpIGNvbnN0OworICAgIHZpcnR1YWwgTGF5
b3V0UmVjdCB2aWV3UmVjdCgpIGNvbnN0OwogCiAgICAgdm9pZCB1cGRhdGVXaWRnZXRQb3NpdGlv
bnMoKTsKICAgICB2b2lkIGFkZFdpZGdldChSZW5kZXJXaWRnZXQqKTsKQEAgLTIwMSw3ICsyMDEs
NyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjYWxjQ29sdW1uV2lkdGgoKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIENvbHVtbkluZm86OlBhZ2luYXRpb25Vbml0IHBhZ2luYXRpb25Vbml0
KCkgY29uc3QgT1ZFUlJJREU7CiAKLSAgICBib29sIHNob3VsZFJlcGFpbnQoY29uc3QgSW50UmVj
dCYgcikgY29uc3Q7CisgICAgYm9vbCBzaG91bGRSZXBhaW50KGNvbnN0IExheW91dFJlY3QmKSBj
b25zdDsKIAogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBtYXkgb25seSBiZSBhY2Nlc3NlZCBieSBM
YXlvdXRTdGF0ZU1haW50YWluZXIuCiAgICAgdm9pZCBwdXNoTGF5b3V0U3RhdGUoUmVuZGVyRmxv
d1RocmVhZCosIGJvb2wgcmVnaW9uc0NoYW5nZWQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136009</attachid>
            <date>2012-04-06 05:39:49 -0700</date>
            <delta_ts>2012-04-06 08:38:10 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-83147-20120406143947.patch</filename>
            <type>text/plain</type>
            <size>8893</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzQyNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA0LTA2ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBVcGRhdGUgTGF5b3V0VW5p
dCB1c2FnZSBpbiBSZW5kZXJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MzE0NworCisgICAgICAgIFJldmlld2VkIGJ5IEp1bGllbiBDaGFmZnJh
aXguCisKKyAgICAgICAgVXBkYXRpbmcgdGhlIHVzYWdlIG9mIExheW91dFVuaXRzIGluIFJlbmRl
clZpZXcgaW4gcHJlcGFyYXRpb24gZm9yIHN1Yi1waXhlbCBsYXlvdXQuIFRoaXMgbW9zdGx5Cisg
ICAgICAgIGFmZmVjdHMgcGFpbnQgYW5kIHJlcGFpbnQgZnVuY3Rpb25zLCB3aGljaCB0YWtlIExh
eW91dFJlY3RzIHVwIHRvIHRoZSBSZW5kZXJWaWV3IGxldmVsLiBUaGlzIGlzCisgICAgICAgIG5l
Y2Vzc2FyeSBhcyB3ZSBjb250aW51ZSB0byBhY2N1bXVsYXRlIHN1Yi1waXhlbCBvZmZzZXRzIHVw
IHRvIHRoaXMgbGV2ZWwuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVo
YXZpb3IuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJWaWV3OjpwYWludCk6IEFkZGluZyBhbiBhc3NlcnQgdGhhdCB3ZSdyZSBi
ZWluZyBjYWxsZWQgdG8gcGFpbnQgb24gcGl4ZWwKKyAgICAgICAgYm91bmRhcmllcy4gV2UgZG9u
J3QgY3VycmVudGx5IGV2ZXIgcG9zaXRpb24gUmVuZGVyVmlld3MgYXQgc3ViLXBpeGVsIG9mZnNl
dHMuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpzaG91bGRSZXBhaW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnJlcGFpbnRWaWV3UmVjdGFuZ2xlKTogU3dpdGNoaW5n
IHRvIGEgTGF5b3V0UmVjdCBhbmQgY2xlYW5pbmcgdXAgYSBmaXhtZQorICAgICAgICB0aGF0IHVz
ZWQgZGVjb21wb3NlZCBvZmZzZXRzLiBQaXhlbCBzbmFwcGluZyBpcyBhcHBsaWVkIGJlZm9yZSBo
YW5kaW5nIHRoZSByZWN0IHVwIHRvIHRoZQorICAgICAgICBGcmFtZVZpZXcuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJWaWV3OjpyZXBhaW50UmVjdGFuZ2xlSW5WaWV3QW5kQ29tcG9zaXRlZExh
eWVycyk6IFBpeGVsIHNuYXBwaW5nIGJlZm9yZSBoYW5kaW5nCisgICAgICAgIHRoZSByZWN0IHVw
IHRvIHRoZSBDb21wb3NpdG9yLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6Y29tcHV0
ZVJlY3RGb3JSZXBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNlbGVjdGlv
bkJvdW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3Ojp2aWV3UmVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3Ojp1bnNjYWxlZERvY3VtZW50UmVjdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclZpZXcuaDoKKyAgICAgICAgKFJlbmRlclZpZXcpOgorCiAyMDEy
LTA0LTA2ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W0Nocm9taXVtXSBXZWIgSW5zcGVjdG9yOiBnZXRFdmVudExpc3RlbmVycyh3aW5kb3cpIGNyYXNo
ZXMgb24gTlRQCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCShy
ZXZpc2lvbiAxMTM0MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTIxNyw2ICsyMTcsOCBAQCB2b2lkIFJlbmRlclZpZXc6OnBh
aW50KFBhaW50SW5mbyYgcGFpbnRJCiB7CiAgICAgLy8gSWYgd2UgZXZlciByZXF1aXJlIGxheW91
dCBidXQgcmVjZWl2ZSBhIHBhaW50IGFueXdheSwgc29tZXRoaW5nIGhhcyBnb25lIGhvcnJpYmx5
IHdyb25nLgogICAgIEFTU0VSVCghbmVlZHNMYXlvdXQoKSk7CisgICAgLy8gUmVuZGVyVmlld3Mg
c2hvdWxkIG5ldmVyIGJlIGNhbGxlZCB0byBwYWludCB3aXRoIGFuIG9mZnNldCBub3Qgb24gZGV2
aWNlIHBpeGVscy4KKyAgICBBU1NFUlQoTGF5b3V0UG9pbnQoSW50UG9pbnQocGFpbnRPZmZzZXQu
eCgpLCBwYWludE9mZnNldC55KCkpKSA9PSBwYWludE9mZnNldCk7CiAgICAgcGFpbnRPYmplY3Qo
cGFpbnRJbmZvLCBwYWludE9mZnNldCk7CiB9CiAKQEAgLTI5NCw3ICsyOTYsNyBAQCB2b2lkIFJl
bmRlclZpZXc6OnBhaW50Qm94RGVjb3JhdGlvbnMoUGFpCiAgICAgfQogfQogCi1ib29sIFJlbmRl
clZpZXc6OnNob3VsZFJlcGFpbnQoY29uc3QgSW50UmVjdCYgcikgY29uc3QKK2Jvb2wgUmVuZGVy
Vmlldzo6c2hvdWxkUmVwYWludChjb25zdCBMYXlvdXRSZWN0JiByKSBjb25zdAogewogICAgIGlm
IChwcmludGluZygpIHx8IHIud2lkdGgoKSA9PSAwIHx8IHIuaGVpZ2h0KCkgPT0gMCkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwpAQCAtMzA4LDcgKzMxMCw3IEBAIGJvb2wgUmVuZGVyVmlldzo6c2hv
dWxkUmVwYWludChjb25zdCBJbnQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBSZW5kZXJW
aWV3OjpyZXBhaW50Vmlld1JlY3RhbmdsZShjb25zdCBJbnRSZWN0JiB1ciwgYm9vbCBpbW1lZGlh
dGUpCit2b2lkIFJlbmRlclZpZXc6OnJlcGFpbnRWaWV3UmVjdGFuZ2xlKGNvbnN0IExheW91dFJl
Y3QmIHVyLCBib29sIGltbWVkaWF0ZSkKIHsKICAgICBpZiAoIXNob3VsZFJlcGFpbnQodXIpKQog
ICAgICAgICByZXR1cm47CkBAIC0zMTcsMjMgKzMxOSwyMiBAQCB2b2lkIFJlbmRlclZpZXc6OnJl
cGFpbnRWaWV3UmVjdGFuZ2xlKGNvCiAgICAgLy8gb3IgZXZlbiBpbnZpc2libGUuCiAgICAgRWxl
bWVudCogZWx0ID0gZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50KCk7CiAgICAgaWYgKCFlbHQpCi0g
ICAgICAgIG1fZnJhbWVWaWV3LT5yZXBhaW50Q29udGVudFJlY3RhbmdsZSh1ciwgaW1tZWRpYXRl
KTsKKyAgICAgICAgbV9mcmFtZVZpZXctPnJlcGFpbnRDb250ZW50UmVjdGFuZ2xlKHBpeGVsU25h
cHBlZEludFJlY3QodXIpLCBpbW1lZGlhdGUpOwogICAgIGVsc2UgaWYgKFJlbmRlckJveCogb2Jq
ID0gZWx0LT5yZW5kZXJCb3goKSkgewotICAgICAgICBJbnRSZWN0IHZyID0gdmlld1JlY3QoKTsK
LSAgICAgICAgSW50UmVjdCByID0gaW50ZXJzZWN0aW9uKHVyLCB2cik7CisgICAgICAgIExheW91
dFJlY3QgdnIgPSB2aWV3UmVjdCgpOworICAgICAgICBMYXlvdXRSZWN0IHIgPSBpbnRlcnNlY3Rp
b24odXIsIHZyKTsKICAgICAgICAgCiAgICAgICAgIC8vIFN1YnRyYWN0IG91dCB0aGUgY29udGVu
dHNYIGFuZCBjb250ZW50c1kgb2Zmc2V0cyB0byBnZXQgb3VyIGNvb3JkcyB3aXRoaW4gdGhlIHZp
ZXdpbmcKICAgICAgICAgLy8gcmVjdGFuZ2xlLgogICAgICAgICByLm1vdmVCeSgtdnIubG9jYXRp
b24oKSk7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIEZJWE1FOiBIYXJkY29kZWQgb2Zmc2V0cyBo
ZXJlIGFyZSBub3QgZ29vZC4KLSAgICAgICAgci5tb3ZlKG9iai0+Ym9yZGVyTGVmdCgpICsgb2Jq
LT5wYWRkaW5nTGVmdCgpLAotICAgICAgICAgICAgICAgb2JqLT5ib3JkZXJUb3AoKSArIG9iai0+
cGFkZGluZ1RvcCgpKTsKKyAgICAgICAgci5tb3ZlQnkob2JqLT5jb250ZW50Qm94UmVjdCgpLmxv
Y2F0aW9uKCkpOwogICAgICAgICBvYmotPnJlcGFpbnRSZWN0YW5nbGUociwgaW1tZWRpYXRlKTsK
ICAgICB9CiB9CiAKLXZvaWQgUmVuZGVyVmlldzo6cmVwYWludFJlY3RhbmdsZUluVmlld0FuZENv
bXBvc2l0ZWRMYXllcnMoY29uc3QgSW50UmVjdCYgdXIsIGJvb2wgaW1tZWRpYXRlKQordm9pZCBS
ZW5kZXJWaWV3OjpyZXBhaW50UmVjdGFuZ2xlSW5WaWV3QW5kQ29tcG9zaXRlZExheWVycyhjb25z
dCBMYXlvdXRSZWN0JiB1ciwgYm9vbCBpbW1lZGlhdGUpCiB7CiAgICAgaWYgKCFzaG91bGRSZXBh
aW50KHVyKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMzQyLDExICszNDMsMTEgQEAgdm9pZCBSZW5k
ZXJWaWV3OjpyZXBhaW50UmVjdGFuZ2xlSW5WaWV3QQogICAgIAogI2lmIFVTRShBQ0NFTEVSQVRF
RF9DT01QT1NJVElORykKICAgICBpZiAoY29tcG9zaXRvcigpLT5pbkNvbXBvc2l0aW5nTW9kZSgp
KQotICAgICAgICBjb21wb3NpdG9yKCktPnJlcGFpbnRDb21wb3NpdGVkTGF5ZXJzQWJzb2x1dGVS
ZWN0KHVyKTsKKyAgICAgICAgY29tcG9zaXRvcigpLT5yZXBhaW50Q29tcG9zaXRlZExheWVyc0Fi
c29sdXRlUmVjdChwaXhlbFNuYXBwZWRJbnRSZWN0KHVyKSk7CiAjZW5kaWYKIH0KIAotdm9pZCBS
ZW5kZXJWaWV3Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJl
cGFpbnRDb250YWluZXIsIEludFJlY3QmIHJlY3QsIGJvb2wgZml4ZWQpIGNvbnN0Cit2b2lkIFJl
bmRlclZpZXc6OmNvbXB1dGVSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVw
YWludENvbnRhaW5lciwgTGF5b3V0UmVjdCYgcmVjdCwgYm9vbCBmaXhlZCkgY29uc3QKIHsKICAg
ICAvLyBJZiBhIGNvbnRhaW5lciB3YXMgc3BlY2lmaWVkLCBhbmQgd2FzIG5vdCAwIG9yIHRoZSBS
ZW5kZXJWaWV3LAogICAgIC8vIHRoZW4gd2Ugc2hvdWxkIGhhdmUgZm91bmQgaXQgYnkgbm93LgpA
QCAtNDIwLDEyICs0MjEsMTIgQEAgSW50UmVjdCBSZW5kZXJWaWV3OjpzZWxlY3Rpb25Cb3VuZHMo
Ym9vbAogICAgIH0KIAogICAgIC8vIE5vdyBjcmVhdGUgYSBzaW5nbGUgYm91bmRpbmcgYm94IHJl
Y3QgdGhhdCBlbmNsb3NlcyB0aGUgd2hvbGUgc2VsZWN0aW9uLgotICAgIEludFJlY3Qgc2VsUmVj
dDsKKyAgICBMYXlvdXRSZWN0IHNlbFJlY3Q7CiAgICAgU2VsZWN0aW9uTWFwOjppdGVyYXRvciBl
bmQgPSBzZWxlY3RlZE9iamVjdHMuZW5kKCk7CiAgICAgZm9yIChTZWxlY3Rpb25NYXA6Oml0ZXJh
dG9yIGkgPSBzZWxlY3RlZE9iamVjdHMuYmVnaW4oKTsgaSAhPSBlbmQ7ICsraSkgewogICAgICAg
ICBSZW5kZXJTZWxlY3Rpb25JbmZvKiBpbmZvID0gaS0+c2Vjb25kOwogICAgICAgICAvLyBSZW5k
ZXJTZWxlY3Rpb25JbmZvOjpyZWN0KCkgaXMgaW4gdGhlIGNvb3JkaW5hdGVzIG9mIHRoZSByZXBh
aW50Q29udGFpbmVyLCBzbyBtYXAgdG8gcGFnZSBjb29yZGluYXRlcy4KLSAgICAgICAgSW50UmVj
dCBjdXJyUmVjdCA9IGluZm8tPnJlY3QoKTsKKyAgICAgICAgTGF5b3V0UmVjdCBjdXJyUmVjdCA9
IGluZm8tPnJlY3QoKTsKICAgICAgICAgaWYgKFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50
Q29udGFpbmVyID0gaW5mby0+cmVwYWludENvbnRhaW5lcigpKSB7CiAgICAgICAgICAgICBGbG9h
dFF1YWQgYWJzUXVhZCA9IHJlcGFpbnRDb250YWluZXItPmxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxv
YXRSZWN0KGN1cnJSZWN0KSk7CiAgICAgICAgICAgICBjdXJyUmVjdCA9IGFic1F1YWQuZW5jbG9z
aW5nQm91bmRpbmdCb3goKTsgCkBAIC00MzMsNyArNDM0LDcgQEAgSW50UmVjdCBSZW5kZXJWaWV3
OjpzZWxlY3Rpb25Cb3VuZHMoYm9vbAogICAgICAgICBzZWxSZWN0LnVuaXRlKGN1cnJSZWN0KTsK
ICAgICAgICAgZGVsZXRlIGluZm87CiAgICAgfQotICAgIHJldHVybiBzZWxSZWN0OworICAgIHJl
dHVybiBwaXhlbFNuYXBwZWRJbnRSZWN0KHNlbFJlY3QpOwogfQogCiAjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQpAQCAtNzA2LDIxICs3MDcsMjEgQEAgdm9pZCBSZW5kZXJWaWV3Ojpu
b3RpZnlXaWRnZXRzKFdpZGdldE5vdAogICAgIHJlbGVhc2VXaWRnZXRzKHJlbmRlcldpZGdldHMp
OwogfQogCi1JbnRSZWN0IFJlbmRlclZpZXc6OnZpZXdSZWN0KCkgY29uc3QKK0xheW91dFJlY3Qg
UmVuZGVyVmlldzo6dmlld1JlY3QoKSBjb25zdAogewogICAgIGlmIChwcmludGluZygpKQotICAg
ICAgICByZXR1cm4gSW50UmVjdChJbnRQb2ludCgpLCBzaXplKCkpOworICAgICAgICByZXR1cm4g
TGF5b3V0UmVjdChMYXlvdXRQb2ludCgpLCBzaXplKCkpOwogICAgIGlmIChtX2ZyYW1lVmlldykK
ICAgICAgICAgcmV0dXJuIG1fZnJhbWVWaWV3LT52aXNpYmxlQ29udGVudFJlY3QoKTsKLSAgICBy
ZXR1cm4gSW50UmVjdCgpOworICAgIHJldHVybiBMYXlvdXRSZWN0KCk7CiB9CiAKIAogSW50UmVj
dCBSZW5kZXJWaWV3Ojp1bnNjYWxlZERvY3VtZW50UmVjdCgpIGNvbnN0CiB7Ci0gICAgSW50UmVj
dCBvdmVyZmxvd1JlY3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIExheW91dFJlY3Qgb3Zl
cmZsb3dSZWN0KGxheW91dE92ZXJmbG93UmVjdCgpKTsKICAgICBmbGlwRm9yV3JpdGluZ01vZGUo
b3ZlcmZsb3dSZWN0KTsKLSAgICByZXR1cm4gb3ZlcmZsb3dSZWN0OworICAgIHJldHVybiBwaXhl
bFNuYXBwZWRJbnRSZWN0KG92ZXJmbG93UmVjdCk7CiB9CiAKIExheW91dFJlY3QgUmVuZGVyVmll
dzo6YmFja2dyb3VuZFJlY3QoUmVuZGVyQm94KiBiYWNrZ3JvdW5kUmVuZGVyZXIpIGNvbnN0Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgJKHJldmlzaW9uIDExMzQyNykK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgJKHdvcmtpbmcgY29weSkK
QEAgLTY4LDE0ICs2OCwxNCBAQCBwdWJsaWM6CiAKICAgICBGcmFtZVZpZXcqIGZyYW1lVmlldygp
IGNvbnN0IHsgcmV0dXJuIG1fZnJhbWVWaWV3OyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0
ZVJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBJ
bnRSZWN0JiwgYm9vbCBmaXhlZCA9IGZhbHNlKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgcmVw
YWludFZpZXdSZWN0YW5nbGUoY29uc3QgSW50UmVjdCYsIGJvb2wgaW1tZWRpYXRlID0gZmFsc2Up
OworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxP
YmplY3QqIHJlcGFpbnRDb250YWluZXIsIExheW91dFJlY3QmLCBib29sIGZpeGVkID0gZmFsc2Up
IGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCByZXBhaW50Vmlld1JlY3RhbmdsZShj
b25zdCBMYXlvdXRSZWN0JiwgYm9vbCBpbW1lZGlhdGUgPSBmYWxzZSkgT1ZFUlJJREU7CiAgICAg
Ly8gUmVwYWludCB0aGUgdmlldywgYW5kIGFsbCBjb21wb3NpdGVkIGxheWVycyB0aGF0IGludGVy
c2VjdCB0aGUgZ2l2ZW4gYWJzb2x1dGUgcmVjdGFuZ2xlLgogICAgIC8vIEZJWE1FOiBpZGVhbGx5
IHdlJ2QgbmV2ZXIgaGF2ZSB0byBkbyB0aGlzLCBpZiBhbGwgcmVwYWludHMgYXJlIGNvbnRhaW5l
ci1yZWxhdGl2ZS4KLSAgICB2aXJ0dWFsIHZvaWQgcmVwYWludFJlY3RhbmdsZUluVmlld0FuZENv
bXBvc2l0ZWRMYXllcnMoY29uc3QgSW50UmVjdCYsIGJvb2wgaW1tZWRpYXRlID0gZmFsc2UpOwor
ICAgIHZpcnR1YWwgdm9pZCByZXBhaW50UmVjdGFuZ2xlSW5WaWV3QW5kQ29tcG9zaXRlZExheWVy
cyhjb25zdCBMYXlvdXRSZWN0JiwgYm9vbCBpbW1lZGlhdGUgPSBmYWxzZSkgT1ZFUlJJREU7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKTsK
LSAgICB2aXJ0dWFsIHZvaWQgcGFpbnRCb3hEZWNvcmF0aW9ucyhQYWludEluZm8mLCBjb25zdCBJ
bnRQb2ludCYpOworICAgIHZpcnR1YWwgdm9pZCBwYWludEJveERlY29yYXRpb25zKFBhaW50SW5m
byYsIGNvbnN0IExheW91dFBvaW50JikgT1ZFUlJJREU7CiAKICAgICBlbnVtIFNlbGVjdGlvblJl
cGFpbnRNb2RlIHsgUmVwYWludE5ld1hPUk9sZCwgUmVwYWludE5ld01pbnVzT2xkLCBSZXBhaW50
Tm90aGluZyB9OwogICAgIHZvaWQgc2V0U2VsZWN0aW9uKFJlbmRlck9iamVjdCogc3RhcnQsIGlu
dCBzdGFydFBvcywgUmVuZGVyT2JqZWN0KiBlbmQsIGludCBlbmRQb3MsIFNlbGVjdGlvblJlcGFp
bnRNb2RlID0gUmVwYWludE5ld1hPUk9sZCk7CkBAIC05OCw3ICs5OCw3IEBAIHB1YmxpYzoKICNl
bmRpZgogICAgIGludCBtYXhpbWFsT3V0bGluZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21heGlt
YWxPdXRsaW5lU2l6ZTsgfQogCi0gICAgdmlydHVhbCBJbnRSZWN0IHZpZXdSZWN0KCkgY29uc3Q7
CisgICAgdmlydHVhbCBMYXlvdXRSZWN0IHZpZXdSZWN0KCkgY29uc3QgT1ZFUlJJREU7CiAKICAg
ICB2b2lkIHVwZGF0ZVdpZGdldFBvc2l0aW9ucygpOwogICAgIHZvaWQgYWRkV2lkZ2V0KFJlbmRl
cldpZGdldCopOwpAQCAtMjAxLDcgKzIwMSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lk
IGNhbGNDb2x1bW5XaWR0aCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgQ29sdW1uSW5mbzo6UGFn
aW5hdGlvblVuaXQgcGFnaW5hdGlvblVuaXQoKSBjb25zdCBPVkVSUklERTsKIAotICAgIGJvb2wg
c2hvdWxkUmVwYWludChjb25zdCBJbnRSZWN0JiByKSBjb25zdDsKKyAgICBib29sIHNob3VsZFJl
cGFpbnQoY29uc3QgTGF5b3V0UmVjdCYpIGNvbnN0OwogCiAgICAgLy8gVGhlc2UgZnVuY3Rpb25z
IG1heSBvbmx5IGJlIGFjY2Vzc2VkIGJ5IExheW91dFN0YXRlTWFpbnRhaW5lci4KICAgICB2b2lk
IHB1c2hMYXlvdXRTdGF0ZShSZW5kZXJGbG93VGhyZWFkKiwgYm9vbCByZWdpb25zQ2hhbmdlZCk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136028</attachid>
            <date>2012-04-06 08:38:27 -0700</date>
            <delta_ts>2012-04-06 13:05:14 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-83147-20120406173824.patch</filename>
            <type>text/plain</type>
            <size>8846</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzQ0MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA0LTA2ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBVcGRhdGUgTGF5b3V0VW5p
dCB1c2FnZSBpbiBSZW5kZXJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MzE0NworCisgICAgICAgIFJldmlld2VkIGJ5IEp1bGllbiBDaGFmZnJh
aXguCisKKyAgICAgICAgVXBkYXRpbmcgdGhlIHVzYWdlIG9mIExheW91dFVuaXRzIGluIFJlbmRl
clZpZXcgaW4gcHJlcGFyYXRpb24gZm9yIHN1Yi1waXhlbCBsYXlvdXQuIFRoaXMgbW9zdGx5Cisg
ICAgICAgIGFmZmVjdHMgcGFpbnQgYW5kIHJlcGFpbnQgZnVuY3Rpb25zLCB3aGljaCB0YWtlIExh
eW91dFJlY3RzIHVwIHRvIHRoZSBSZW5kZXJWaWV3IGxldmVsLiBUaGlzIGlzCisgICAgICAgIG5l
Y2Vzc2FyeSBhcyB3ZSBjb250aW51ZSB0byBhY2N1bXVsYXRlIHN1Yi1waXhlbCBvZmZzZXRzIHVw
IHRvIHRoaXMgbGV2ZWwuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVo
YXZpb3IuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJWaWV3OjpwYWludCk6IEFkZGluZyBhbiBhc3NlcnQgdGhhdCB3ZSdyZSBi
ZWluZyBjYWxsZWQgdG8gcGFpbnQgb24gcGl4ZWwKKyAgICAgICAgYm91bmRhcmllcy4gV2UgZG9u
J3QgY3VycmVudGx5IGV2ZXIgcG9zaXRpb24gUmVuZGVyVmlld3MgYXQgc3ViLXBpeGVsIG9mZnNl
dHMuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpzaG91bGRSZXBhaW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnJlcGFpbnRWaWV3UmVjdGFuZ2xlKTogU3dpdGNoaW5n
IHRvIGEgTGF5b3V0UmVjdCBhbmQgY2xlYW5pbmcgdXAgYSBmaXhtZQorICAgICAgICB0aGF0IHVz
ZWQgZGVjb21wb3NlZCBvZmZzZXRzLiBQaXhlbCBzbmFwcGluZyBpcyBhcHBsaWVkIGJlZm9yZSBo
YW5kaW5nIHRoZSByZWN0IHVwIHRvIHRoZQorICAgICAgICBGcmFtZVZpZXcuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJWaWV3OjpyZXBhaW50UmVjdGFuZ2xlSW5WaWV3QW5kQ29tcG9zaXRlZExh
eWVycyk6IFBpeGVsIHNuYXBwaW5nIGJlZm9yZSBoYW5kaW5nCisgICAgICAgIHRoZSByZWN0IHVw
IHRvIHRoZSBDb21wb3NpdG9yLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6Y29tcHV0
ZVJlY3RGb3JSZXBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNlbGVjdGlv
bkJvdW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3Ojp2aWV3UmVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3Ojp1bnNjYWxlZERvY3VtZW50UmVjdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclZpZXcuaDoKKyAgICAgICAgKFJlbmRlclZpZXcpOgorCiAyMDEy
LTA0LTA2ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTEzNDMxLgpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAkocmV2aXNpb24gMTEzNDQxKQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTcsNiAr
MjE3LDggQEAgdm9pZCBSZW5kZXJWaWV3OjpwYWludChQYWludEluZm8mIHBhaW50SQogewogICAg
IC8vIElmIHdlIGV2ZXIgcmVxdWlyZSBsYXlvdXQgYnV0IHJlY2VpdmUgYSBwYWludCBhbnl3YXks
IHNvbWV0aGluZyBoYXMgZ29uZSBob3JyaWJseSB3cm9uZy4KICAgICBBU1NFUlQoIW5lZWRzTGF5
b3V0KCkpOworICAgIC8vIFJlbmRlclZpZXdzIHNob3VsZCBuZXZlciBiZSBjYWxsZWQgdG8gcGFp
bnQgd2l0aCBhbiBvZmZzZXQgbm90IG9uIGRldmljZSBwaXhlbHMuCisgICAgQVNTRVJUKExheW91
dFBvaW50KEludFBvaW50KHBhaW50T2Zmc2V0LngoKSwgcGFpbnRPZmZzZXQueSgpKSkgPT0gcGFp
bnRPZmZzZXQpOwogICAgIHBhaW50T2JqZWN0KHBhaW50SW5mbywgcGFpbnRPZmZzZXQpOwogfQog
CkBAIC0yOTQsNyArMjk2LDcgQEAgdm9pZCBSZW5kZXJWaWV3OjpwYWludEJveERlY29yYXRpb25z
KFBhaQogICAgIH0KIH0KIAotYm9vbCBSZW5kZXJWaWV3OjpzaG91bGRSZXBhaW50KGNvbnN0IElu
dFJlY3QmIHIpIGNvbnN0Citib29sIFJlbmRlclZpZXc6OnNob3VsZFJlcGFpbnQoY29uc3QgTGF5
b3V0UmVjdCYgcikgY29uc3QKIHsKICAgICBpZiAocHJpbnRpbmcoKSB8fCByLndpZHRoKCkgPT0g
MCB8fCByLmhlaWdodCgpID09IDApCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTMwOCw3ICsz
MTAsNyBAQCBib29sIFJlbmRlclZpZXc6OnNob3VsZFJlcGFpbnQoY29uc3QgSW50CiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLXZvaWQgUmVuZGVyVmlldzo6cmVwYWludFZpZXdSZWN0YW5nbGUoY29u
c3QgSW50UmVjdCYgdXIsIGJvb2wgaW1tZWRpYXRlKQordm9pZCBSZW5kZXJWaWV3OjpyZXBhaW50
Vmlld1JlY3RhbmdsZShjb25zdCBMYXlvdXRSZWN0JiB1ciwgYm9vbCBpbW1lZGlhdGUpCiB7CiAg
ICAgaWYgKCFzaG91bGRSZXBhaW50KHVyKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMzE3LDIzICsz
MTksMjIgQEAgdm9pZCBSZW5kZXJWaWV3OjpyZXBhaW50Vmlld1JlY3RhbmdsZShjbwogICAgIC8v
IG9yIGV2ZW4gaW52aXNpYmxlLgogICAgIEVsZW1lbnQqIGVsdCA9IGRvY3VtZW50KCktPm93bmVy
RWxlbWVudCgpOwogICAgIGlmICghZWx0KQotICAgICAgICBtX2ZyYW1lVmlldy0+cmVwYWludENv
bnRlbnRSZWN0YW5nbGUodXIsIGltbWVkaWF0ZSk7CisgICAgICAgIG1fZnJhbWVWaWV3LT5yZXBh
aW50Q29udGVudFJlY3RhbmdsZShwaXhlbFNuYXBwZWRJbnRSZWN0KHVyKSwgaW1tZWRpYXRlKTsK
ICAgICBlbHNlIGlmIChSZW5kZXJCb3gqIG9iaiA9IGVsdC0+cmVuZGVyQm94KCkpIHsKLSAgICAg
ICAgSW50UmVjdCB2ciA9IHZpZXdSZWN0KCk7Ci0gICAgICAgIEludFJlY3QgciA9IGludGVyc2Vj
dGlvbih1ciwgdnIpOworICAgICAgICBMYXlvdXRSZWN0IHZyID0gdmlld1JlY3QoKTsKKyAgICAg
ICAgTGF5b3V0UmVjdCByID0gaW50ZXJzZWN0aW9uKHVyLCB2cik7CiAgICAgICAgIAogICAgICAg
ICAvLyBTdWJ0cmFjdCBvdXQgdGhlIGNvbnRlbnRzWCBhbmQgY29udGVudHNZIG9mZnNldHMgdG8g
Z2V0IG91ciBjb29yZHMgd2l0aGluIHRoZSB2aWV3aW5nCiAgICAgICAgIC8vIHJlY3RhbmdsZS4K
ICAgICAgICAgci5tb3ZlQnkoLXZyLmxvY2F0aW9uKCkpOwotICAgICAgICAKKwogICAgICAgICAv
LyBGSVhNRTogSGFyZGNvZGVkIG9mZnNldHMgaGVyZSBhcmUgbm90IGdvb2QuCi0gICAgICAgIHIu
bW92ZShvYmotPmJvcmRlckxlZnQoKSArIG9iai0+cGFkZGluZ0xlZnQoKSwKLSAgICAgICAgICAg
ICAgIG9iai0+Ym9yZGVyVG9wKCkgKyBvYmotPnBhZGRpbmdUb3AoKSk7CisgICAgICAgIHIubW92
ZUJ5KG9iai0+Y29udGVudEJveFJlY3QoKS5sb2NhdGlvbigpKTsKICAgICAgICAgb2JqLT5yZXBh
aW50UmVjdGFuZ2xlKHIsIGltbWVkaWF0ZSk7CiAgICAgfQogfQogCi12b2lkIFJlbmRlclZpZXc6
OnJlcGFpbnRSZWN0YW5nbGVJblZpZXdBbmRDb21wb3NpdGVkTGF5ZXJzKGNvbnN0IEludFJlY3Qm
IHVyLCBib29sIGltbWVkaWF0ZSkKK3ZvaWQgUmVuZGVyVmlldzo6cmVwYWludFJlY3RhbmdsZUlu
Vmlld0FuZENvbXBvc2l0ZWRMYXllcnMoY29uc3QgTGF5b3V0UmVjdCYgdXIsIGJvb2wgaW1tZWRp
YXRlKQogewogICAgIGlmICghc2hvdWxkUmVwYWludCh1cikpCiAgICAgICAgIHJldHVybjsKQEAg
LTM0MiwxMSArMzQzLDExIEBAIHZvaWQgUmVuZGVyVmlldzo6cmVwYWludFJlY3RhbmdsZUluVmll
d0EKICAgICAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgaWYgKGNvbXBv
c2l0b3IoKS0+aW5Db21wb3NpdGluZ01vZGUoKSkKLSAgICAgICAgY29tcG9zaXRvcigpLT5yZXBh
aW50Q29tcG9zaXRlZExheWVyc0Fic29sdXRlUmVjdCh1cik7CisgICAgICAgIGNvbXBvc2l0b3Io
KS0+cmVwYWludENvbXBvc2l0ZWRMYXllcnNBYnNvbHV0ZVJlY3QocGl4ZWxTbmFwcGVkSW50UmVj
dCh1cikpOwogI2VuZGlmCiB9CiAKLXZvaWQgUmVuZGVyVmlldzo6Y29tcHV0ZVJlY3RGb3JSZXBh
aW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBJbnRSZWN0JiByZWN0
LCBib29sIGZpeGVkKSBjb25zdAordm9pZCBSZW5kZXJWaWV3Ojpjb21wdXRlUmVjdEZvclJlcGFp
bnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIExheW91dFJlY3QmIHJl
Y3QsIGJvb2wgZml4ZWQpIGNvbnN0CiB7CiAgICAgLy8gSWYgYSBjb250YWluZXIgd2FzIHNwZWNp
ZmllZCwgYW5kIHdhcyBub3QgMCBvciB0aGUgUmVuZGVyVmlldywKICAgICAvLyB0aGVuIHdlIHNo
b3VsZCBoYXZlIGZvdW5kIGl0IGJ5IG5vdy4KQEAgLTQyMCwxMiArNDIxLDEyIEBAIEludFJlY3Qg
UmVuZGVyVmlldzo6c2VsZWN0aW9uQm91bmRzKGJvb2wKICAgICB9CiAKICAgICAvLyBOb3cgY3Jl
YXRlIGEgc2luZ2xlIGJvdW5kaW5nIGJveCByZWN0IHRoYXQgZW5jbG9zZXMgdGhlIHdob2xlIHNl
bGVjdGlvbi4KLSAgICBJbnRSZWN0IHNlbFJlY3Q7CisgICAgTGF5b3V0UmVjdCBzZWxSZWN0Owog
ICAgIFNlbGVjdGlvbk1hcDo6aXRlcmF0b3IgZW5kID0gc2VsZWN0ZWRPYmplY3RzLmVuZCgpOwog
ICAgIGZvciAoU2VsZWN0aW9uTWFwOjppdGVyYXRvciBpID0gc2VsZWN0ZWRPYmplY3RzLmJlZ2lu
KCk7IGkgIT0gZW5kOyArK2kpIHsKICAgICAgICAgUmVuZGVyU2VsZWN0aW9uSW5mbyogaW5mbyA9
IGktPnNlY29uZDsKICAgICAgICAgLy8gUmVuZGVyU2VsZWN0aW9uSW5mbzo6cmVjdCgpIGlzIGlu
IHRoZSBjb29yZGluYXRlcyBvZiB0aGUgcmVwYWludENvbnRhaW5lciwgc28gbWFwIHRvIHBhZ2Ug
Y29vcmRpbmF0ZXMuCi0gICAgICAgIEludFJlY3QgY3VyclJlY3QgPSBpbmZvLT5yZWN0KCk7Cisg
ICAgICAgIExheW91dFJlY3QgY3VyclJlY3QgPSBpbmZvLT5yZWN0KCk7CiAgICAgICAgIGlmIChS
ZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciA9IGluZm8tPnJlcGFpbnRDb250
YWluZXIoKSkgewogICAgICAgICAgICAgRmxvYXRRdWFkIGFic1F1YWQgPSByZXBhaW50Q29udGFp
bmVyLT5sb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UmVjdChjdXJyUmVjdCkpOwogICAgICAgICAg
ICAgY3VyclJlY3QgPSBhYnNRdWFkLmVuY2xvc2luZ0JvdW5kaW5nQm94KCk7IApAQCAtNDMzLDcg
KzQzNCw3IEBAIEludFJlY3QgUmVuZGVyVmlldzo6c2VsZWN0aW9uQm91bmRzKGJvb2wKICAgICAg
ICAgc2VsUmVjdC51bml0ZShjdXJyUmVjdCk7CiAgICAgICAgIGRlbGV0ZSBpbmZvOwogICAgIH0K
LSAgICByZXR1cm4gc2VsUmVjdDsKKyAgICByZXR1cm4gcGl4ZWxTbmFwcGVkSW50UmVjdChzZWxS
ZWN0KTsKIH0KIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKQEAgLTcwNiwyMSAr
NzA3LDIxIEBAIHZvaWQgUmVuZGVyVmlldzo6bm90aWZ5V2lkZ2V0cyhXaWRnZXROb3QKICAgICBy
ZWxlYXNlV2lkZ2V0cyhyZW5kZXJXaWRnZXRzKTsKIH0KIAotSW50UmVjdCBSZW5kZXJWaWV3Ojp2
aWV3UmVjdCgpIGNvbnN0CitMYXlvdXRSZWN0IFJlbmRlclZpZXc6OnZpZXdSZWN0KCkgY29uc3QK
IHsKICAgICBpZiAocHJpbnRpbmcoKSkKLSAgICAgICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQo
KSwgc2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIExheW91dFJlY3QoTGF5b3V0UG9pbnQoKSwgc2l6
ZSgpKTsKICAgICBpZiAobV9mcmFtZVZpZXcpCiAgICAgICAgIHJldHVybiBtX2ZyYW1lVmlldy0+
dmlzaWJsZUNvbnRlbnRSZWN0KCk7Ci0gICAgcmV0dXJuIEludFJlY3QoKTsKKyAgICByZXR1cm4g
TGF5b3V0UmVjdCgpOwogfQogCiAKIEludFJlY3QgUmVuZGVyVmlldzo6dW5zY2FsZWREb2N1bWVu
dFJlY3QoKSBjb25zdAogewotICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KGxheW91dE92ZXJmbG93
UmVjdCgpKTsKKyAgICBMYXlvdXRSZWN0IG92ZXJmbG93UmVjdChsYXlvdXRPdmVyZmxvd1JlY3Qo
KSk7CiAgICAgZmxpcEZvcldyaXRpbmdNb2RlKG92ZXJmbG93UmVjdCk7Ci0gICAgcmV0dXJuIG92
ZXJmbG93UmVjdDsKKyAgICByZXR1cm4gcGl4ZWxTbmFwcGVkSW50UmVjdChvdmVyZmxvd1JlY3Qp
OwogfQogCiBMYXlvdXRSZWN0IFJlbmRlclZpZXc6OmJhY2tncm91bmRSZWN0KFJlbmRlckJveCog
YmFja2dyb3VuZFJlbmRlcmVyKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlldy5oCShyZXZpc2lvbiAxMTM0NDEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCwxNCArNjgsMTQgQEAgcHVibGljOgog
CiAgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcoKSBjb25zdCB7IHJldHVybiBtX2ZyYW1lVmlldzsg
fQogCi0gICAgdmlydHVhbCB2b2lkIGNvbXB1dGVSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2Rl
bE9iamVjdCogcmVwYWludENvbnRhaW5lciwgSW50UmVjdCYsIGJvb2wgZml4ZWQgPSBmYWxzZSkg
Y29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHJlcGFpbnRWaWV3UmVjdGFuZ2xlKGNvbnN0IEludFJl
Y3QmLCBib29sIGltbWVkaWF0ZSA9IGZhbHNlKTsKKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVJl
Y3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBMYXlv
dXRSZWN0JiwgYm9vbCBmaXhlZCA9IGZhbHNlKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVw
YWludFZpZXdSZWN0YW5nbGUoY29uc3QgTGF5b3V0UmVjdCYsIGJvb2wgaW1tZWRpYXRlID0gZmFs
c2UpOwogICAgIC8vIFJlcGFpbnQgdGhlIHZpZXcsIGFuZCBhbGwgY29tcG9zaXRlZCBsYXllcnMg
dGhhdCBpbnRlcnNlY3QgdGhlIGdpdmVuIGFic29sdXRlIHJlY3RhbmdsZS4KICAgICAvLyBGSVhN
RTogaWRlYWxseSB3ZSdkIG5ldmVyIGhhdmUgdG8gZG8gdGhpcywgaWYgYWxsIHJlcGFpbnRzIGFy
ZSBjb250YWluZXItcmVsYXRpdmUuCi0gICAgdmlydHVhbCB2b2lkIHJlcGFpbnRSZWN0YW5nbGVJ
blZpZXdBbmRDb21wb3NpdGVkTGF5ZXJzKGNvbnN0IEludFJlY3QmLCBib29sIGltbWVkaWF0ZSA9
IGZhbHNlKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVwYWludFJlY3RhbmdsZUluVmlld0FuZENvbXBv
c2l0ZWRMYXllcnMoY29uc3QgTGF5b3V0UmVjdCYsIGJvb2wgaW1tZWRpYXRlID0gZmFsc2UpIE9W
RVJSSURFOwogCiAgICAgdmlydHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGNvbnN0IExheW91
dFBvaW50Jik7Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50Qm94RGVjb3JhdGlvbnMoUGFpbnRJbmZv
JiwgY29uc3QgSW50UG9pbnQmKTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRCb3hEZWNvcmF0aW9u
cyhQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpIE9WRVJSSURFOwogCiAgICAgZW51bSBT
ZWxlY3Rpb25SZXBhaW50TW9kZSB7IFJlcGFpbnROZXdYT1JPbGQsIFJlcGFpbnROZXdNaW51c09s
ZCwgUmVwYWludE5vdGhpbmcgfTsKICAgICB2b2lkIHNldFNlbGVjdGlvbihSZW5kZXJPYmplY3Qq
IHN0YXJ0LCBpbnQgc3RhcnRQb3MsIFJlbmRlck9iamVjdCogZW5kLCBpbnQgZW5kUG9zLCBTZWxl
Y3Rpb25SZXBhaW50TW9kZSA9IFJlcGFpbnROZXdYT1JPbGQpOwpAQCAtOTgsNyArOTgsNyBAQCBw
dWJsaWM6CiAjZW5kaWYKICAgICBpbnQgbWF4aW1hbE91dGxpbmVTaXplKCkgY29uc3QgeyByZXR1
cm4gbV9tYXhpbWFsT3V0bGluZVNpemU7IH0KIAotICAgIHZpcnR1YWwgSW50UmVjdCB2aWV3UmVj
dCgpIGNvbnN0OworICAgIHZpcnR1YWwgTGF5b3V0UmVjdCB2aWV3UmVjdCgpIGNvbnN0IE9WRVJS
SURFOwogCiAgICAgdm9pZCB1cGRhdGVXaWRnZXRQb3NpdGlvbnMoKTsKICAgICB2b2lkIGFkZFdp
ZGdldChSZW5kZXJXaWRnZXQqKTsKQEAgLTIwMSw3ICsyMDEsNyBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCBjYWxjQ29sdW1uV2lkdGgoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIENvbHVt
bkluZm86OlBhZ2luYXRpb25Vbml0IHBhZ2luYXRpb25Vbml0KCkgY29uc3QgT1ZFUlJJREU7CiAK
LSAgICBib29sIHNob3VsZFJlcGFpbnQoY29uc3QgSW50UmVjdCYgcikgY29uc3Q7CisgICAgYm9v
bCBzaG91bGRSZXBhaW50KGNvbnN0IExheW91dFJlY3QmKSBjb25zdDsKIAogICAgIC8vIFRoZXNl
IGZ1bmN0aW9ucyBtYXkgb25seSBiZSBhY2Nlc3NlZCBieSBMYXlvdXRTdGF0ZU1haW50YWluZXIu
CiAgICAgdm9pZCBwdXNoTGF5b3V0U3RhdGUoUmVuZGVyRmxvd1RocmVhZCosIGJvb2wgcmVnaW9u
c0NoYW5nZWQpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>