<?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>133256</bug_id>
          
          <creation_ts>2014-05-23 22:13:54 -0700</creation_ts>
          <short_desc>Caret&apos;s screen position does not update during an overflow scroll</short_desc>
          <delta_ts>2017-11-14 15:36:23 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>133326</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>mark.lam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1011487</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-05-23 22:13:54 -0700</bug_when>
    <thetext>Caret&apos;s screen position does not update during a scroll</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011488</commentid>
    <comment_count>1</comment_count>
      <attachid>232017</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-05-23 22:15:39 -0700</bug_when>
    <thetext>Created attachment 232017
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011489</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-05-23 22:16:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/16293602&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011492</commentid>
    <comment_count>3</comment_count>
      <attachid>232017</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-05-23 22:59:05 -0700</bug_when>
    <thetext>Comment on attachment 232017
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Caret&apos;s screen position does not update during a scroll

This should say &quot;overflow scroll&quot; since this doesn&apos;t apply to document scrolling.

&gt; Source/WebCore/rendering/RenderLayer.cpp:2305
&gt;      frame.selection().setCaretRectNeedsUpdate();
&gt; +    frame.selection().invalidateCaretRect();

Is setCaretRectNeedsUpdate() a no-op then? Why isn&apos;t calling it enough to get the caret rect to be updated?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011497</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-05-24 01:08:38 -0700</bug_when>
    <thetext>setCaretRectNeedsUpdate just sets a boolean to true. Recalculating the caret&apos;s rect is guarded by this boolean.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011498</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-05-24 01:12:21 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; setCaretRectNeedsUpdate just sets a boolean to true. Recalculating the caret&apos;s rect is guarded by this boolean.

invalidateCaretRect *also* sets that boolean.

Really I&apos;d expect the names &quot;invalidateX&quot; and &quot;setXNeedsUpdate&quot; to be interchangeable, but I realize that&apos;s not your fault.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011552</commentid>
    <comment_count>6</comment_count>
      <attachid>232017</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-24 20:22:29 -0700</bug_when>
    <thetext>Comment on attachment 232017
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderLayer.cpp:2305
&gt;&gt; +    frame.selection().invalidateCaretRect();
&gt; 
&gt; Is setCaretRectNeedsUpdate() a no-op then? Why isn&apos;t calling it enough to get the caret rect to be updated?

These names are admittedly unclear and confusing, but:

- setCaretRectNeedsUpdate causes the caret rect’s coordinates to be recomputed
- invalidateCaretRect causes pixels where the caret is drawn to be marked dirty so they will be repainted</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012037</commentid>
    <comment_count>7</comment_count>
      <attachid>232017</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-05-27 12:26:53 -0700</bug_when>
    <thetext>Comment on attachment 232017
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:3
&gt;&gt; +        Caret&apos;s screen position does not update during a scroll
&gt; 
&gt; This should say &quot;overflow scroll&quot; since this doesn&apos;t apply to document scrolling.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012038</commentid>
    <comment_count>8</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-05-27 12:28:23 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; invalidateCaretRect *also* sets that boolean.
Yep. New patch incoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012040</commentid>
    <comment_count>9</comment_count>
      <attachid>232144</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-05-27 12:30:38 -0700</bug_when>
    <thetext>Created attachment 232144
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012062</commentid>
    <comment_count>10</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-05-27 14:15:19 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/169399</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012071</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-27 15:22:04 -0700</bug_when>
    <thetext>This caused assertion failures on tests:

http://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK1%20(Tests)/r169399%20(5622)/accessibility/nested-layout-crash-crash-log.txt

http://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK1%20(Tests)/r169399%20(5622)/editing/spelling/grammar-paste-crash-log.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012077</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-27 15:53:51 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 133326</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012085</commentid>
    <comment_count>13</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-05-27 15:58:14 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Re-opened since this is blocked by bug 133326

Rolled out in r169402: &lt;http://trac.webkit.org/changeset/169402&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012345</commentid>
    <comment_count>14</comment_count>
      <attachid>232229</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-05-28 20:16:25 -0700</bug_when>
    <thetext>Created attachment 232229
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012353</commentid>
    <comment_count>15</comment_count>
      <attachid>232229</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-05-28 20:45:58 -0700</bug_when>
    <thetext>Comment on attachment 232229
Patch

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

&gt; Source/WebCore/page/EventHandler.cpp:2605
&gt; +            m_frame.selection().invalidateCaretRect();

Hrm not sure about this. What about other kinds of scrolling (scrollbar, programmatic)? What ensures that layout is up-to-date when calling invalidateCaretRect()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1230821</commentid>
    <comment_count>16</comment_count>
      <attachid>232229</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-09-17 07:14:52 -0700</bug_when>
    <thetext>Comment on attachment 232229
Patch

Hi,

Apologies that your patch was not reviewed in a timely manner. Since it&apos;s now quite old, I am removing it from the review request queue. Please consider rebasing it on trunk and resubmitting.

To increase the chances of getting a review, consider using &apos;Tools/Scripts/webkit-patch upload --suggest-reviewers&apos; to CC reviewers who might be interested in this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371608</commentid>
    <comment_count>17</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-11-14 15:36:23 -0800</bug_when>
    <thetext>I can&apos;t reproduce this any more (testing in this very textarea).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232017</attachid>
            <date>2014-05-23 22:15:39 -0700</date>
            <delta_ts>2014-05-27 12:30:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133256-20140523221515.patch</filename>
            <type>text/plain</type>
            <size>6266</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5Mjg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmNlYmZiNWYzMWE1ZTY0
ZjI5NDU2NTI5NjI0MDBmZDY3MzhmMmE2NC4uZjE1OTYwZDE5YTU5OTFmNmUwYTIzN2E2MTMwNmEz
MWZkYjIyMTY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTA1LTIzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgQ2FyZXQncyBz
Y3JlZW4gcG9zaXRpb24gZG9lcyBub3QgdXBkYXRlIGR1cmluZyBhIHNjcm9sbAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMjU2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVyaW5nIGEgc2Nyb2xsLCB3
ZSBzZXQgYSBmbGFnIHdoaWNoIGNhcmV0IHBvc2l0aW9uIGlzIGdhdGVkIG9uLCBidXQgd2UgbmV2
ZXIKKyAgICAgICAgYWN0dWFsbHkgaW52YWxpZGF0ZSB0aGUgY2FyZXQncyBwb3NpdGlvbi4gVGhp
cyBwYXRjaCBkb2VzIHNvLgorCisgICAgICAgIFRlc3Q6IGVkaXRpbmcvaW5wdXQvY2FyZXQtcG9z
aXRpb24tZHVyaW5nLXNjcm9sbC5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUbyk6CisKIDIwMTQtMDUtMjMgIEVucmljYSBDYXN1
Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgaW52YWxpZCBBU1NFUlQg
aW4gd29yZFJhbmdlRm9yUG9zaXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0ZyYW1lU2VsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmgKaW5kZXggYTQ0ZDViZGQ2OGFiZjhjZmU3MzBiM2NkZDAzYmU0NmNlZjZmNzY2ZC4uZWQ0
MDE0OTNhZGNiMmRiMTA5MmY2ZGNkYzg2NDQyMDRmZTgxZmQ2OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRnJhbWVTZWxlY3Rpb24uaApAQCAtMjY5LDYgKzI2OSw4IEBAIHB1YmxpYzoKICAgICBi
b29sIHNob3VsZFNob3dCbG9ja0N1cnNvcigpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkU2hvd0Js
b2NrQ3Vyc29yOyB9CiAgICAgdm9pZCBzZXRTaG91bGRTaG93QmxvY2tDdXJzb3IoYm9vbCk7CiAK
KyAgICB2b2lkIGludmFsaWRhdGVDYXJldFJlY3QoKTsKKwogcHJpdmF0ZToKICAgICBlbnVtIEVQ
b3NpdGlvblR5cGUgeyBTVEFSVCwgRU5ELCBCQVNFLCBFWFRFTlQgfTsKIApAQCAtMzExLDcgKzMx
Myw2IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNldENhcmV0VmlzaWJpbGl0eShDYXJldFZpc2li
aWxpdHkpOwogICAgIGJvb2wgcmVjb21wdXRlQ2FyZXRSZWN0KCk7Ci0gICAgdm9pZCBpbnZhbGlk
YXRlQ2FyZXRSZWN0KCk7CiAKICAgICBib29sIGRpc3BhdGNoU2VsZWN0U3RhcnQoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggYTczMjQ3ZWQwNGZkZTdh
OWI0OGIyZDViOGMyZjcyYWJhMjQ0ODNjMS4uZjRkM2IyYWRjNGZlODU4ZWU1NzU1ODM1ZDM0MTNk
ZWRiM2ZjNGVlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBA
IC0yMzAyLDYgKzIzMDIsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUbyhpbnQgeCwgaW50
IHkpCiAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciA9IHJlbmRl
cmVyKCkuY29udGFpbmVyRm9yUmVwYWludCgpOwogICAgIC8vIFRoZSBjYXJldCByZWN0IG5lZWRz
IHRvIGJlIGludmFsaWRhdGVkIGFmdGVyIHNjcm9sbGluZwogICAgIGZyYW1lLnNlbGVjdGlvbigp
LnNldENhcmV0UmVjdE5lZWRzVXBkYXRlKCk7CisgICAgZnJhbWUuc2VsZWN0aW9uKCkuaW52YWxp
ZGF0ZUNhcmV0UmVjdCgpOwogCiAgICAgRmxvYXRRdWFkIHF1YWRGb3JGYWtlTW91c2VNb3ZlRXZl
bnQgPSBGbG9hdFF1YWQobV9yZXBhaW50UmVjdCk7CiAgICAgaWYgKHJlcGFpbnRDb250YWluZXIp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggOWI1NWU2ODE4OWU4OGFiNGU3ZDcxMmI2OGU2NGM0OTU5ZmE4NGQzYy4uMGQ0ZDQ5
M2M0ZjljNmIyM2I3NWNjOWE1NmIyODZlNTRjNGM3MzU4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDE0LTA1LTIzICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisK
KyAgICAgICAgQ2FyZXQncyBzY3JlZW4gcG9zaXRpb24gZG9lcyBub3QgdXBkYXRlIGR1cmluZyBh
IHNjcm9sbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTMzMjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyB0ZXN0IHBsYWNlcyB0aGUgY2FyZXQsIGluc3BlY3RzIGl0cyBwb3NpdGlvbiwgc2Nyb2xs
cywgYW5kIHRoZW4gaW1tZWRpYXRlbHkgaW5zcGVjdHMgaXRzCisgICAgICAgIHBvc2l0aW9uIGFn
YWluLiBUaGUgdHdvIHBvc2l0aW9ucyBzaG91bGQgYmUgZGlmZmVyZW50LgorCisgICAgICAgICog
ZWRpdGluZy9pbnB1dC9jYXJldC1wb3NpdGlvbi1kdXJpbmctc2Nyb2xsLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9pbnB1dC9jYXJldC1wb3NpdGlvbi1kdXJpbmctc2Ny
b2xsLmh0bWw6IEFkZGVkLgorCiAyMDE0LTA1LTIzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFz
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlYmFzZWxpbmUgdHdvIHRlc3RzIGFmZmVjdGVkIGJ5
IHIxNjkyMjkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L2NhcmV0LXBv
c2l0aW9uLWR1cmluZy1zY3JvbGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9p
bnB1dC9jYXJldC1wb3NpdGlvbi1kdXJpbmctc2Nyb2xsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40YjE4MzZmYTFmOTE4YzM5NGE5YTY2MDBkZTFjZWY2MzQ3NDAzOGUyCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9jYXJldC1wb3NpdGlvbi1kdXJpbmctc2Ny
b2xsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM0IEBACitUaGlzIHRlc3QgcGxhY2VzIHRoZSBj
YXJldCwgaW5zcGVjdHMgaXRzIHBvc2l0aW9uLCBzY3JvbGxzLCBhbmQgaW1tZWRpYXRlbHkgaW5z
cGVjdHMgdGhlIGNhcmV0J3MgcG9zaXRpb24gYWdhaW4uIFRoZSB0d28gcG9zaXRpb25zIHNob3Vs
ZCBiZSBkaWZmZXJlbnQuIElmIHRoaXMgdGVzdCBwYXNzZXMsICJSZXN1bHQ6IFBhc3MiIHdpbGwg
YmUgcHJpbnRlZCBiZWxvdyB0aGUgbGlzdCBvZiBudW1iZXJzLgorU2Nyb2xsaW5nIHdpdGggdGhl
IG1vdXNlIGRvZXMgbm90IGNhdXNlIHRoZSBjYXJldCdzIHNjcmVlbiBwb3NpdGlvbiB0byBiZSBy
ZWNvbXB1dGVkCiswMAorMDEKKzAyCiswMworMDQKKzA1CiswNgorMDcKKzA4CiswOQorMTAKKzEx
CisxMgorMTMKKzE0CisxNQorMTYKKzE3CisxOAorMTkKKzIwCisyMQorMjIKKzIzCisyNAorMjUK
KzI2CisyNworMjgKKzI5CiszMAorUmVzdWx0OiBQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2lucHV0L2NhcmV0LXBvc2l0aW9uLWR1cmluZy1zY3JvbGwuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvaW5wdXQvY2FyZXQtcG9zaXRpb24tZHVyaW5nLXNjcm9sbC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjNjMDhkNTI5YjUyMjE5YjMxOTE5OTI1ZGY5OWJhMTBmODAwM2FjMDkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L2NhcmV0LXBvc2l0aW9uLWR1
cmluZy1zY3JvbGwuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFk
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icmVzb3VyY2VzL3JldmVhbC11
dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCBw
bGFjZXMgdGhlIGNhcmV0LCBpbnNwZWN0cyBpdHMgcG9zaXRpb24sIHNjcm9sbHMsIGFuZCBpbW1l
ZGlhdGVseSBpbnNwZWN0cyB0aGUgY2FyZXQncyBwb3NpdGlvbiBhZ2Fpbi4KK1RoZSB0d28gcG9z
aXRpb25zIHNob3VsZCBiZSBkaWZmZXJlbnQuIElmIHRoaXMgdGVzdCBwYXNzZXMsICJSZXN1bHQ6
IFBhc3MiIHdpbGwgYmUgcHJpbnRlZCBiZWxvdyB0aGUgbGlzdCBvZiBudW1iZXJzLjwvZGl2Pgor
PGRpdj5TY3JvbGxpbmcgd2l0aCB0aGUgbW91c2UgZG9lcyBub3QgY2F1c2UgdGhlIGNhcmV0J3Mg
c2NyZWVuIHBvc2l0aW9uIHRvIGJlIHJlY29tcHV0ZWQ8L2Rpdj4KKzxzcGFuIHN0eWxlPSJwb3Np
dGlvbjphYnNvbHV0ZTsgdmlzaWJpbGl0eTpoaWRkZW4iIGlkPSJzaW5nbGUtZGlnaXQiPjA8L3Nw
YW4+Cis8ZGl2IHN0eWxlPSJib3JkZXI6dGhpbiBzb2xpZCBibGFjazsgb3ZlcmZsb3c6c2Nyb2xs
IiBjb250ZW50ZWRpdGFibGU9InRydWUiIGlkPSJpbnB1dC1jb250ZW50ZWRpdGFibGUiPjwvZGl2
PgorUmVzdWx0OiA8c3BhbiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwordmFyIGNvbnRlbnRF
ZGl0YWJsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1jb250ZW50ZWRpdGFibGUi
KTsKK2NvbnRlbnRFZGl0YWJsZS5pbm5lckhUTUwgPSBnZW5lcmF0ZU51bWJlcnMoMCwgMzAsIDIs
ICI8YnI+Iik7Cit2YXIgc2luZ2xlRGlnaXRIZWlnaHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic2luZ2xlLWRpZ2l0IikuY2xpZW50SGVpZ2h0OwordmFyIGNvbnRlbnRFZGl0YWJsZVNpemUg
PSAxMDsKK2NvbnRlbnRFZGl0YWJsZS5zdHlsZS5oZWlnaHQgPSAoc2luZ2xlRGlnaXRIZWlnaHQg
KiBjb250ZW50RWRpdGFibGVTaXplKSArICJweCI7Citjb250ZW50RWRpdGFibGUuZm9jdXMoKTsK
K3ZhciBjaGlsZCA9IGNvbnRlbnRFZGl0YWJsZS5maXJzdENoaWxkOworZm9yICh2YXIgaSA9IDA7
IGkgPCAzNjsgKytpKQorICAgIGNoaWxkID0gY2hpbGQubmV4dFNpYmxpbmc7CitnZXRTZWxlY3Rp
b24oKS5jb2xsYXBzZShjaGlsZCwgMCk7Cit2YXIgYmVmb3JlOworaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgYmVmb3JlID0gaW50ZXJuYWxzLmFic29sdXRlQ2FyZXRCb3VuZHMoZG9jdW1lbnQp
LnRvcDsKK2lmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICB2YXIgaW5wdXQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnaW5wdXQtY29udGVudGVkaXRhYmxlJyk7CisgICAgdmFyIHggPSBj
b250ZW50RWRpdGFibGUub2Zmc2V0TGVmdCArIGNvbnRlbnRFZGl0YWJsZS5vZmZzZXRXaWR0aCAv
IDI7CisgICAgdmFyIHkgPSBjb250ZW50RWRpdGFibGUub2Zmc2V0VG9wICsgY29udGVudEVkaXRh
YmxlLm9mZnNldEhlaWdodCAvIDI7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7
CisgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeSgwLCAtNTApOworfQordmFyIGFmdGVyOwor
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgYWZ0ZXIgPSBpbnRlcm5hbHMuYWJzb2x1dGVDYXJl
dEJvdW5kcyhkb2N1bWVudCkudG9wOwordmFyIHJlc3VsdCA9ICJGQUlMIjsKK2lmIChiZWZvcmUg
IT0gYWZ0ZXIpCisgICAgcmVzdWx0ID0gIlBBU1MiOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnNvbGUiKS50ZXh0Q29udGVudCA9IHJlc3VsdDsKKzwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232144</attachid>
            <date>2014-05-27 12:30:38 -0700</date>
            <delta_ts>2014-05-28 20:16:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133256-20140527123014.patch</filename>
            <type>text/plain</type>
            <size>6334</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5Mzk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWIzNDUzODkxMmU5MTkx
MTUzNTMyNTk3ZTY4YzIxZWFiM2NjYmNkZi4uNGU4M2E4OTBjY2E5YjBjYjNjMmU2Zjg1OGE0Yjli
MmJiZmMxMzkyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTA1LTIzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgQ2FyZXQncyBz
Y3JlZW4gcG9zaXRpb24gZG9lcyBub3QgdXBkYXRlIGR1cmluZyBhbiBvdmVyZmxvdyBzY3JvbGwK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzI1Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIER1cmluZyBh
IHNjcm9sbCwgd2Ugc2V0IGEgZmxhZyB3aGljaCBjYXJldCBwb3NpdGlvbiBpcyBnYXRlZCBvbiwg
YnV0IHdlIG5ldmVyCisgICAgICAgIGFjdHVhbGx5IGludmFsaWRhdGUgdGhlIGNhcmV0J3MgcG9z
aXRpb24uIFRoaXMgcGF0Y2ggZG9lcyBzby4KKworICAgICAgICBUZXN0OiBlZGl0aW5nL2lucHV0
L2NhcmV0LXBvc2l0aW9uLWR1cmluZy1zY3JvbGwuaHRtbAorCisgICAgICAgICogZWRpdGluZy9G
cmFtZVNlbGVjdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG8pOgorCiAyMDE0LTA1LTI3ICBU
aW1vdGh5IEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBUdXJu
IG9uIHRoZSBMYXllclBvb2wgZm9yIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9GcmFtZVNlbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVj
dGlvbi5oCmluZGV4IGE0NGQ1YmRkNjhhYmY4Y2ZlNzMwYjNjZGQwM2JlNDZjZWY2Zjc2NmQuLmVk
NDAxNDkzYWRjYjJkYjEwOTJmNmRjZGM4NjQ0MjA0ZmU4MWZkNjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKQEAgLTI2OSw2ICsyNjksOCBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBzaG91bGRTaG93QmxvY2tDdXJzb3IoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFNob3dC
bG9ja0N1cnNvcjsgfQogICAgIHZvaWQgc2V0U2hvdWxkU2hvd0Jsb2NrQ3Vyc29yKGJvb2wpOwog
CisgICAgdm9pZCBpbnZhbGlkYXRlQ2FyZXRSZWN0KCk7CisKIHByaXZhdGU6CiAgICAgZW51bSBF
UG9zaXRpb25UeXBlIHsgU1RBUlQsIEVORCwgQkFTRSwgRVhURU5UIH07CiAKQEAgLTMxMSw3ICsz
MTMsNiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRDYXJldFZpc2liaWxpdHkoQ2FyZXRWaXNp
YmlsaXR5KTsKICAgICBib29sIHJlY29tcHV0ZUNhcmV0UmVjdCgpOwotICAgIHZvaWQgaW52YWxp
ZGF0ZUNhcmV0UmVjdCgpOwogCiAgICAgYm9vbCBkaXNwYXRjaFNlbGVjdFN0YXJ0KCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGUxNDBjMjc4NzI5YWMw
M2I2NDdkMTViMTYxMGQ4YzNjZjI2OWUzOWMuLmVjZDA3OWI1YzRkN2IyMDhmZWM0MzFjMjU5MmRh
MzJlMTIyYmUzMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApA
QCAtMjI5NCw3ICsyMjk0LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG8oaW50IHgsIGlu
dCB5KQogICAgIEZyYW1lJiBmcmFtZSA9IHJlbmRlcmVyKCkuZnJhbWUoKTsKICAgICBSZW5kZXJM
YXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyID0gcmVuZGVyZXIoKS5jb250YWluZXJG
b3JSZXBhaW50KCk7CiAgICAgLy8gVGhlIGNhcmV0IHJlY3QgbmVlZHMgdG8gYmUgaW52YWxpZGF0
ZWQgYWZ0ZXIgc2Nyb2xsaW5nCi0gICAgZnJhbWUuc2VsZWN0aW9uKCkuc2V0Q2FyZXRSZWN0TmVl
ZHNVcGRhdGUoKTsKKyAgICBmcmFtZS5zZWxlY3Rpb24oKS5pbnZhbGlkYXRlQ2FyZXRSZWN0KCk7
CiAKICAgICBGbG9hdFF1YWQgcXVhZEZvckZha2VNb3VzZU1vdmVFdmVudCA9IEZsb2F0UXVhZCht
X3JlcGFpbnRSZWN0KTsKICAgICBpZiAocmVwYWludENvbnRhaW5lcikKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5NjY4NzNm
MzQ1NmI1YTEwM2I3YTdhMWRjZmFhMzRjNGJiMjA0OTFlLi5iZTY2ZTVhMTkyNjE5ZGYwZjkwMTU2
NTMxYzc2MmQ0NWVkZGM2MTJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTQtMDUtMjMgIE15
bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBDYXJldCdz
IHNjcmVlbiBwb3NpdGlvbiBkb2VzIG5vdCB1cGRhdGUgZHVyaW5nIGFuIG92ZXJmbG93IHNjcm9s
bAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMjU2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyB0
ZXN0IHBsYWNlcyB0aGUgY2FyZXQsIGluc3BlY3RzIGl0cyBwb3NpdGlvbiwgc2Nyb2xscywgYW5k
IHRoZW4gaW1tZWRpYXRlbHkgaW5zcGVjdHMgaXRzCisgICAgICAgIHBvc2l0aW9uIGFnYWluLiBU
aGUgdHdvIHBvc2l0aW9ucyBzaG91bGQgYmUgZGlmZmVyZW50LgorCisgICAgICAgICogZWRpdGlu
Zy9pbnB1dC9jYXJldC1wb3NpdGlvbi1kdXJpbmctc2Nyb2xsLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9pbnB1dC9jYXJldC1wb3NpdGlvbi1kdXJpbmctc2Nyb2xsLmh0
bWw6IEFkZGVkLgorCiAyMDE0LTA1LTI3ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4K
IAogICAgICAgICBSRUdSRVNTSU9OOiBBdWRpbyB2b2x1bWUgc2NydWJiZXIgZG9lcyBub3Qgc2hv
dyB2b2x1bWUgbGV2ZWwgdGh1bWIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5w
dXQvY2FyZXQtcG9zaXRpb24tZHVyaW5nLXNjcm9sbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2lucHV0L2NhcmV0LXBvc2l0aW9uLWR1cmluZy1zY3JvbGwtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjRiMTgzNmZhMWY5MThjMzk0YTlhNjYwMGRlMWNlZjYzNDc0MDM4ZTIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L2NhcmV0LXBvc2l0aW9u
LWR1cmluZy1zY3JvbGwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzQgQEAKK1RoaXMgdGVzdCBw
bGFjZXMgdGhlIGNhcmV0LCBpbnNwZWN0cyBpdHMgcG9zaXRpb24sIHNjcm9sbHMsIGFuZCBpbW1l
ZGlhdGVseSBpbnNwZWN0cyB0aGUgY2FyZXQncyBwb3NpdGlvbiBhZ2Fpbi4gVGhlIHR3byBwb3Np
dGlvbnMgc2hvdWxkIGJlIGRpZmZlcmVudC4gSWYgdGhpcyB0ZXN0IHBhc3NlcywgIlJlc3VsdDog
UGFzcyIgd2lsbCBiZSBwcmludGVkIGJlbG93IHRoZSBsaXN0IG9mIG51bWJlcnMuCitTY3JvbGxp
bmcgd2l0aCB0aGUgbW91c2UgZG9lcyBub3QgY2F1c2UgdGhlIGNhcmV0J3Mgc2NyZWVuIHBvc2l0
aW9uIHRvIGJlIHJlY29tcHV0ZWQKKzAwCiswMQorMDIKKzAzCiswNAorMDUKKzA2CiswNworMDgK
KzA5CisxMAorMTEKKzEyCisxMworMTQKKzE1CisxNgorMTcKKzE4CisxOQorMjAKKzIxCisyMgor
MjMKKzI0CisyNQorMjYKKzI3CisyOAorMjkKKzMwCitSZXN1bHQ6IFBBU1MKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvY2FyZXQtcG9zaXRpb24tZHVyaW5nLXNjcm9sbC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9jYXJldC1wb3NpdGlvbi1kdXJpbmctc2Ny
b2xsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uM2MwOGQ1MjliNTIyMTliMzE5MTk5MjVkZjk5YmExMGY4MDAz
YWMwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvY2FyZXQt
cG9zaXRpb24tZHVyaW5nLXNjcm9sbC5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJyZXNvdXJj
ZXMvcmV2ZWFsLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
VGhpcyB0ZXN0IHBsYWNlcyB0aGUgY2FyZXQsIGluc3BlY3RzIGl0cyBwb3NpdGlvbiwgc2Nyb2xs
cywgYW5kIGltbWVkaWF0ZWx5IGluc3BlY3RzIHRoZSBjYXJldCdzIHBvc2l0aW9uIGFnYWluLgor
VGhlIHR3byBwb3NpdGlvbnMgc2hvdWxkIGJlIGRpZmZlcmVudC4gSWYgdGhpcyB0ZXN0IHBhc3Nl
cywgIlJlc3VsdDogUGFzcyIgd2lsbCBiZSBwcmludGVkIGJlbG93IHRoZSBsaXN0IG9mIG51bWJl
cnMuPC9kaXY+Cis8ZGl2PlNjcm9sbGluZyB3aXRoIHRoZSBtb3VzZSBkb2VzIG5vdCBjYXVzZSB0
aGUgY2FyZXQncyBzY3JlZW4gcG9zaXRpb24gdG8gYmUgcmVjb21wdXRlZDwvZGl2PgorPHNwYW4g
c3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyB2aXNpYmlsaXR5OmhpZGRlbiIgaWQ9InNpbmdsZS1k
aWdpdCI+MDwvc3Bhbj4KKzxkaXYgc3R5bGU9ImJvcmRlcjp0aGluIHNvbGlkIGJsYWNrOyBvdmVy
ZmxvdzpzY3JvbGwiIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgaWQ9ImlucHV0LWNvbnRlbnRlZGl0
YWJsZSI+PC9kaXY+CitSZXN1bHQ6IDxzcGFuIGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cit2
YXIgY29udGVudEVkaXRhYmxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWNvbnRl
bnRlZGl0YWJsZSIpOworY29udGVudEVkaXRhYmxlLmlubmVySFRNTCA9IGdlbmVyYXRlTnVtYmVy
cygwLCAzMCwgMiwgIjxicj4iKTsKK3ZhciBzaW5nbGVEaWdpdEhlaWdodCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzaW5nbGUtZGlnaXQiKS5jbGllbnRIZWlnaHQ7Cit2YXIgY29udGVudEVk
aXRhYmxlU2l6ZSA9IDEwOworY29udGVudEVkaXRhYmxlLnN0eWxlLmhlaWdodCA9IChzaW5nbGVE
aWdpdEhlaWdodCAqIGNvbnRlbnRFZGl0YWJsZVNpemUpICsgInB4IjsKK2NvbnRlbnRFZGl0YWJs
ZS5mb2N1cygpOwordmFyIGNoaWxkID0gY29udGVudEVkaXRhYmxlLmZpcnN0Q2hpbGQ7Citmb3Ig
KHZhciBpID0gMDsgaSA8IDM2OyArK2kpCisgICAgY2hpbGQgPSBjaGlsZC5uZXh0U2libGluZzsK
K2dldFNlbGVjdGlvbigpLmNvbGxhcHNlKGNoaWxkLCAwKTsKK3ZhciBiZWZvcmU7CitpZiAod2lu
ZG93LmludGVybmFscykKKyAgICBiZWZvcmUgPSBpbnRlcm5hbHMuYWJzb2x1dGVDYXJldEJvdW5k
cyhkb2N1bWVudCkudG9wOworaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgIHZhciBpbnB1
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dC1jb250ZW50ZWRpdGFibGUnKTsKKyAg
ICB2YXIgeCA9IGNvbnRlbnRFZGl0YWJsZS5vZmZzZXRMZWZ0ICsgY29udGVudEVkaXRhYmxlLm9m
ZnNldFdpZHRoIC8gMjsKKyAgICB2YXIgeSA9IGNvbnRlbnRFZGl0YWJsZS5vZmZzZXRUb3AgKyBj
b250ZW50RWRpdGFibGUub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1v
dmVUbyh4LCB5KTsKKyAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5KDAsIC01MCk7Cit9Cit2
YXIgYWZ0ZXI7CitpZiAod2luZG93LmludGVybmFscykKKyAgICBhZnRlciA9IGludGVybmFscy5h
YnNvbHV0ZUNhcmV0Qm91bmRzKGRvY3VtZW50KS50b3A7Cit2YXIgcmVzdWx0ID0gIkZBSUwiOwor
aWYgKGJlZm9yZSAhPSBhZnRlcikKKyAgICByZXN1bHQgPSAiUEFTUyI7Citkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29uc29sZSIpLnRleHRDb250ZW50ID0gcmVzdWx0OworPC9zY3JpcHQ+Cis8
L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232229</attachid>
            <date>2014-05-28 20:16:25 -0700</date>
            <delta_ts>2016-09-17 07:14:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133256-20140528201601.patch</filename>
            <type>text/plain</type>
            <size>6176</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5NDM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2JjOTliMzNhZDQwMzkx
NzQ2MGIwYmU3NjA5MThhNDYwOGVmYzg0Ni4uYWM5MTEwMjQzYTNhM2I5NjVkM2QyYmViNGNhMGQ0
ZjkxYTQ3MGJhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTA1LTIzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+IAorCisgICAgICAgQ2FyZXQncyBz
Y3JlZW4gcG9zaXRpb24gZG9lcyBub3QgdXBkYXRlIGR1cmluZyBhbiBvdmVyZmxvdyBzY3JvbGwg
CisgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzI1NiAK
KworICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4gCisKKyAgICAgICBEdXJpbmcgYSBz
Y3JvbGwsIHdlIHNldCBhIGZsYWcgd2hpY2ggY2FyZXQgcG9zaXRpb24gaXMgZ2F0ZWQgb24sIGJ1
dCB3ZSBuZXZlciAKKyAgICAgICBhY3R1YWxseSBpbnZhbGlkYXRlIHRoZSBjYXJldCdzIHBvc2l0
aW9uLiBUaGlzIHBhdGNoIGRvZXMgc28uIAorCisgICAgICAgVGVzdDogZWRpdGluZy9pbnB1dC9j
YXJldC1wb3NpdGlvbi1kdXJpbmctc2Nyb2xsLmh0bWwgCisKKyAgICAgICAqIGVkaXRpbmcvRnJh
bWVTZWxlY3Rpb24uaDogCisgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOiAKKyAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvKTogCisKIDIwMTQtMDUtMjggIE9s
aXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBXaG9vcHMsIHVwZGF0ZSBi
aW5kaW5ncyB0ZXN0cyByZXN1bHRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9GcmFtZVNlbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5oCmluZGV4IGE0NGQ1YmRkNjhhYmY4Y2ZlNzMwYjNjZGQwM2JlNDZjZWY2Zjc2NmQuLmVkNDAx
NDkzYWRjYjJkYjEwOTJmNmRjZGM4NjQ0MjA0ZmU4MWZkNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0ZyYW1lU2VsZWN0aW9uLmgKQEAgLTI2OSw2ICsyNjksOCBAQCBwdWJsaWM6CiAgICAgYm9v
bCBzaG91bGRTaG93QmxvY2tDdXJzb3IoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFNob3dCbG9j
a0N1cnNvcjsgfQogICAgIHZvaWQgc2V0U2hvdWxkU2hvd0Jsb2NrQ3Vyc29yKGJvb2wpOwogCisg
ICAgdm9pZCBpbnZhbGlkYXRlQ2FyZXRSZWN0KCk7CisKIHByaXZhdGU6CiAgICAgZW51bSBFUG9z
aXRpb25UeXBlIHsgU1RBUlQsIEVORCwgQkFTRSwgRVhURU5UIH07CiAKQEAgLTMxMSw3ICszMTMs
NiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRDYXJldFZpc2liaWxpdHkoQ2FyZXRWaXNpYmls
aXR5KTsKICAgICBib29sIHJlY29tcHV0ZUNhcmV0UmVjdCgpOwotICAgIHZvaWQgaW52YWxpZGF0
ZUNhcmV0UmVjdCgpOwogCiAgICAgYm9vbCBkaXNwYXRjaFNlbGVjdFN0YXJ0KCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA4NzMxMmI3OWZkMDAwZjVkYWUzMzQ3ZWI1
ODdhY2ZiMThkNTk1NTQxLi40YzBkMDRjYWJiMjdjYjA5Y2FjYzhjNGEyMTY3MTg5NWVhMjcxMDcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0yNjAxLDcgKzI2MDEsOCBA
QCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVs
RXZlbnQmIGUpCiAgICAgICAgICAgICAgICAgY2xlYXJMYXRjaGVkU3RhdGUoKTsKICAgICAgICAg
ICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0U2Nyb2xsZWRQcm9ncmFtbWF0aWNhbGx5KGZhbHNl
KTsKICAgICAgICAgICAgIH0KLQorICAgICAgICAgICAgCisgICAgICAgICAgICBtX2ZyYW1lLnNl
bGVjdGlvbigpLmludmFsaWRhdGVDYXJldFJlY3QoKTsKICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVhODA1ZTJhMWViMDVjMjMxNDAzM2UxN2YwMDMx
NzgzNjVlZGU2YmYuLjYwZDFkY2IxN2NiZmNhOTAyOGI4MmFmZDQ0ZWE4Yzc5ZjMxMzYwMjEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNC0wNS0yMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPiAKKworICAgICAgIENhcmV0J3Mgc2NyZWVuIHBvc2l0aW9uIGRvZXMg
bm90IHVwZGF0ZSBkdXJpbmcgYW4gb3ZlcmZsb3cgc2Nyb2xsIAorICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzMyNTYgCisKKyAgICAgICBSZXZpZXdlZCBi
eSBTaW1vbiBGcmFzZXIuIAorCisgICAgICAgVGhpcyB0ZXN0IHBsYWNlcyB0aGUgY2FyZXQsIGlu
c3BlY3RzIGl0cyBwb3NpdGlvbiwgc2Nyb2xscywgYW5kIHRoZW4gaW1tZWRpYXRlbHkgaW5zcGVj
dHMgaXRzIAorICAgICAgIHBvc2l0aW9uIGFnYWluLiBUaGUgdHdvIHBvc2l0aW9ucyBzaG91bGQg
YmUgZGlmZmVyZW50LiAKKworICAgICAgICogZWRpdGluZy9pbnB1dC9jYXJldC1wb3NpdGlvbi1k
dXJpbmctc2Nyb2xsLWV4cGVjdGVkLnR4dDogQWRkZWQuIAorICAgICAgICogZWRpdGluZy9pbnB1
dC9jYXJldC1wb3NpdGlvbi1kdXJpbmctc2Nyb2xsLmh0bWw6IEFkZGVkLiAKKwogMjAxNC0wNS0y
OCAgTWFydGluIEhvY2sgIDxtaG9ja0BhcHBsZS5jb20+CiAKICAgICAgICAgTWFya2luZyB0ZXN0
IGFzIGZsYWt5IHBlbmRpbmcgZnVydGhlciByZXZpZXcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2lucHV0L2NhcmV0LXBvc2l0aW9uLWR1cmluZy1zY3JvbGwtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9jYXJldC1wb3NpdGlvbi1kdXJpbmctc2Nyb2xs
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YjE4MzZmYTFmOTE4YzM5NGE5YTY2MDBkZTFjZWY2
MzQ3NDAzOGUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9j
YXJldC1wb3NpdGlvbi1kdXJpbmctc2Nyb2xsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM0IEBA
CitUaGlzIHRlc3QgcGxhY2VzIHRoZSBjYXJldCwgaW5zcGVjdHMgaXRzIHBvc2l0aW9uLCBzY3Jv
bGxzLCBhbmQgaW1tZWRpYXRlbHkgaW5zcGVjdHMgdGhlIGNhcmV0J3MgcG9zaXRpb24gYWdhaW4u
IFRoZSB0d28gcG9zaXRpb25zIHNob3VsZCBiZSBkaWZmZXJlbnQuIElmIHRoaXMgdGVzdCBwYXNz
ZXMsICJSZXN1bHQ6IFBhc3MiIHdpbGwgYmUgcHJpbnRlZCBiZWxvdyB0aGUgbGlzdCBvZiBudW1i
ZXJzLgorU2Nyb2xsaW5nIHdpdGggdGhlIG1vdXNlIGRvZXMgbm90IGNhdXNlIHRoZSBjYXJldCdz
IHNjcmVlbiBwb3NpdGlvbiB0byBiZSByZWNvbXB1dGVkCiswMAorMDEKKzAyCiswMworMDQKKzA1
CiswNgorMDcKKzA4CiswOQorMTAKKzExCisxMgorMTMKKzE0CisxNQorMTYKKzE3CisxOAorMTkK
KzIwCisyMQorMjIKKzIzCisyNAorMjUKKzI2CisyNworMjgKKzI5CiszMAorUmVzdWx0OiBQQVNT
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L2NhcmV0LXBvc2l0aW9uLWR1
cmluZy1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvY2FyZXQtcG9zaXRp
b24tZHVyaW5nLXNjcm9sbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjMDhkNTI5YjUyMjE5YjMxOTE5OTI1
ZGY5OWJhMTBmODAwM2FjMDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2lucHV0L2NhcmV0LXBvc2l0aW9uLWR1cmluZy1zY3JvbGwuaHRtbApAQCAtMCwwICsxLDQzIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0icmVzb3VyY2VzL3JldmVhbC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2PlRoaXMgdGVzdCBwbGFjZXMgdGhlIGNhcmV0LCBpbnNwZWN0cyBpdHMgcG9z
aXRpb24sIHNjcm9sbHMsIGFuZCBpbW1lZGlhdGVseSBpbnNwZWN0cyB0aGUgY2FyZXQncyBwb3Np
dGlvbiBhZ2Fpbi4KK1RoZSB0d28gcG9zaXRpb25zIHNob3VsZCBiZSBkaWZmZXJlbnQuIElmIHRo
aXMgdGVzdCBwYXNzZXMsICJSZXN1bHQ6IFBhc3MiIHdpbGwgYmUgcHJpbnRlZCBiZWxvdyB0aGUg
bGlzdCBvZiBudW1iZXJzLjwvZGl2PgorPGRpdj5TY3JvbGxpbmcgd2l0aCB0aGUgbW91c2UgZG9l
cyBub3QgY2F1c2UgdGhlIGNhcmV0J3Mgc2NyZWVuIHBvc2l0aW9uIHRvIGJlIHJlY29tcHV0ZWQ8
L2Rpdj4KKzxzcGFuIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdmlzaWJpbGl0eTpoaWRkZW4i
IGlkPSJzaW5nbGUtZGlnaXQiPjA8L3NwYW4+Cis8ZGl2IHN0eWxlPSJib3JkZXI6dGhpbiBzb2xp
ZCBibGFjazsgb3ZlcmZsb3c6c2Nyb2xsIiBjb250ZW50ZWRpdGFibGU9InRydWUiIGlkPSJpbnB1
dC1jb250ZW50ZWRpdGFibGUiPjwvZGl2PgorUmVzdWx0OiA8c3BhbiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwordmFyIGNvbnRlbnRFZGl0YWJsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJpbnB1dC1jb250ZW50ZWRpdGFibGUiKTsKK2NvbnRlbnRFZGl0YWJsZS5pbm5lckhUTUwgPSBn
ZW5lcmF0ZU51bWJlcnMoMCwgMzAsIDIsICI8YnI+Iik7Cit2YXIgc2luZ2xlRGlnaXRIZWlnaHQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2luZ2xlLWRpZ2l0IikuY2xpZW50SGVpZ2h0Owor
dmFyIGNvbnRlbnRFZGl0YWJsZVNpemUgPSAxMDsKK2NvbnRlbnRFZGl0YWJsZS5zdHlsZS5oZWln
aHQgPSAoc2luZ2xlRGlnaXRIZWlnaHQgKiBjb250ZW50RWRpdGFibGVTaXplKSArICJweCI7Citj
b250ZW50RWRpdGFibGUuZm9jdXMoKTsKK3ZhciBjaGlsZCA9IGNvbnRlbnRFZGl0YWJsZS5maXJz
dENoaWxkOworZm9yICh2YXIgaSA9IDA7IGkgPCAzNjsgKytpKQorICAgIGNoaWxkID0gY2hpbGQu
bmV4dFNpYmxpbmc7CitnZXRTZWxlY3Rpb24oKS5jb2xsYXBzZShjaGlsZCwgMCk7Cit2YXIgYmVm
b3JlOworaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgYmVmb3JlID0gaW50ZXJuYWxzLmFic29s
dXRlQ2FyZXRCb3VuZHMoZG9jdW1lbnQpLnRvcDsKK2lmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsK
KyAgICB2YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQtY29udGVudGVk
aXRhYmxlJyk7CisgICAgdmFyIHggPSBjb250ZW50RWRpdGFibGUub2Zmc2V0TGVmdCArIGNvbnRl
bnRFZGl0YWJsZS5vZmZzZXRXaWR0aCAvIDI7CisgICAgdmFyIHkgPSBjb250ZW50RWRpdGFibGUu
b2Zmc2V0VG9wICsgY29udGVudEVkaXRhYmxlLm9mZnNldEhlaWdodCAvIDI7CisgICAgZXZlbnRT
ZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7CisgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeSgw
LCAtNTApOworfQordmFyIGFmdGVyOworaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgYWZ0ZXIg
PSBpbnRlcm5hbHMuYWJzb2x1dGVDYXJldEJvdW5kcyhkb2N1bWVudCkudG9wOwordmFyIHJlc3Vs
dCA9ICJGQUlMIjsKK2lmIChiZWZvcmUgIT0gYWZ0ZXIpCisgICAgcmVzdWx0ID0gIlBBU1MiOwor
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS50ZXh0Q29udGVudCA9IHJlc3VsdDsK
Kzwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>