<?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>132596</bug_id>
          
          <creation_ts>2014-05-05 18:19:06 -0700</creation_ts>
          <short_desc>REGRESSION(r155957): Selection rects are incorrect when the selection contains BR elements.</short_desc>
          <delta_ts>2014-05-06 10:50:46 -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>iPhone / iPad</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Enrica Casucci">enrica</reporter>
          <assigned_to name="Enrica Casucci">enrica</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1006819</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2014-05-05 18:19:06 -0700</bug_when>
    <thetext>This was introduced by http://trac.webkit.org/changeset/155957
The renderer for BR elements used to inherit from RenderText before the change listed above.
RenderText has an implementation of the method collectSelectionRects, available only for iOS. RenderLineBreak doesn&apos;t have one and it defaults to the implementation in RenderObject that doesn&apos;t return the correct rectangle and most of all does not provide the correct annotations for the rect.
The above mentioned change also changes the behavior of the renderer when it is not the only element on the line, which creates additional problems.
Among the various reported issues are:
- the selection is not drawn when BR is the only element on the line
- overlapping selections when two lines of text are separated by BR.

&lt;rdar://problem/16464668&gt;
&lt;rdar://problem/16692206&gt;
&lt;rdar://problem/16776004&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006820</commentid>
    <comment_count>1</comment_count>
      <attachid>230878</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2014-05-05 18:22:54 -0700</bug_when>
    <thetext>Created attachment 230878
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006884</commentid>
    <comment_count>2</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-05-06 00:05:53 -0700</bug_when>
    <thetext>We should really move this stuff out from PLATFORM(IOS) and make it testable with an internal setting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007006</commentid>
    <comment_count>3</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2014-05-06 10:50:46 -0700</bug_when>
    <thetext>Committed revision 168364.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230878</attachid>
            <date>2014-05-05 18:22:54 -0700</date>
            <delta_ts>2014-05-06 00:03:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>brokenselections.txt</filename>
            <type>text/plain</type>
            <size>5336</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODMzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE0LTA1LTA1ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMTU1OTU3
KTogU2VsZWN0aW9uIHJlY3RzIGFyZSBpbmNvcnJlY3Qgd2hlbiB0aGUgc2VsZWN0aW9uIGNvbnRh
aW5zIEJSIGVsZW1lbnRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTMyNTk2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNjY5MjIwNj4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFk
ZHMgYW4gaW1wbGVtZW50YXRpb24gb2YgY29sbGVjdFNlbGVjdGlvblJlY3RzIHRvIFJlbmRlckxp
bmVCcmVhay4KKyAgICAgICAgSXQgdXNlcyB0aGUgc2FtZSBsb2dpYyB1c2VkIGJ5IFJlbmRlclRl
eHQgdG8gY29tcHV0ZSBhbmQgYW5ub3RhdGUgdGhlIHJldHVybmVkIHJlY3QKKyAgICAgICAgd2hp
Y2ggaXMgY29tcHV0ZWQsIGxpa2UgdGhlIGNhcmV0IHJlY3QsIHVzaW5nIGluZm9ybWF0aW9uIGZy
b20gdGhlIHJvb3RsaW5lIGJveC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaW5lQnJl
YWsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGluZUJyZWFrOjpjb2xsZWN0U2VsZWN0
aW9uUmVjdHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuaDoKKwogMjAx
NC0wNS0wNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbaU9TIFdLMl0gRmxpY2tlcnkgc2Nyb2xsaW5nIGluc2lkZSBvdmVyZmxvdy1zY3JvbGxpbmc6
IHRvdWNoCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFr
LmNwcAkocmV2aXNpb24gMTY4MzA1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpbmVCcmVhay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDggKzI1LDExIEBACiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgogI2luY2x1ZGUgIklubGlu
ZUVsZW1lbnRCb3guaCIKKyNpbmNsdWRlICJMb2dpY2FsU2VsZWN0aW9uT2Zmc2V0Q2FjaGVzLmgi
CiAjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5j
bHVkZSAiUm9vdElubGluZUJveC5oIgorI2luY2x1ZGUgIlNlbGVjdGlvblJlY3QuaCIKICNpbmNs
dWRlICJWaXNpYmxlUG9zaXRpb24uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTg3LDQg
KzE5MCw1NyBAQCBJbnRSZWN0IFJlbmRlckxpbmVCcmVhazo6Ym9yZGVyQm91bmRpbmdCCiAgICAg
cmV0dXJuIEludFJlY3QoSW50UG9pbnQoKSwgbGluZXNCb3VuZGluZ0JveCgpLnNpemUoKSk7CiB9
CiAKKyNpZiBQTEFURk9STShJT1MpCit2b2lkIFJlbmRlckxpbmVCcmVhazo6Y29sbGVjdFNlbGVj
dGlvblJlY3RzKFZlY3RvcjxTZWxlY3Rpb25SZWN0PiYgcmVjdHMsIHVuc2lnbmVkLCB1bnNpZ25l
ZCkKK3sKKyAgICBJbmxpbmVFbGVtZW50Qm94KiBib3ggPSBtX2lubGluZUJveFdyYXBwZXI7Cisg
ICAgaWYgKCFib3gpCisgICAgICAgIHJldHVybjsKKyAgICBjb25zdCBSb290SW5saW5lQm94JiBy
b290Qm94ID0gYm94LT5yb290KCk7CisgICAgTGF5b3V0UmVjdCByZWN0ID0gcm9vdEJveC5jb21w
dXRlQ2FyZXRSZWN0KGJveC0+bG9naWNhbExlZnQoKSwgMCwgbnVsbHB0cik7CisgICAgaWYgKHJv
b3RCb3guaXNGaXJzdEFmdGVyUGFnZUJyZWFrKCkpIHsKKyAgICAgICAgaWYgKGJveC0+aXNIb3Jp
em9udGFsKCkpCisgICAgICAgICAgICByZWN0LnNoaWZ0WUVkZ2VUbyhyb290Qm94LmxpbmVUb3BX
aXRoTGVhZGluZygpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVjdC5zaGlmdFhFZGdl
VG8ocm9vdEJveC5saW5lVG9wV2l0aExlYWRpbmcoKSk7CisgICAgfQorCisgICAgUmVuZGVyQmxv
Y2sqIGNvbnRhaW5pbmdCbG9jayA9IHRoaXMtPmNvbnRhaW5pbmdCbG9jaygpOworICAgIC8vIE1h
cCByZWN0LCBleHRlbmRlZCBsZWZ0IHRvIGxlZnRPZmZzZXQsIGFuZCByaWdodCB0byByaWdodE9m
ZnNldCwgdGhyb3VnaCB0cmFuc2Zvcm1zIHRvIGdldCBtaW5YIGFuZCBtYXhYLgorICAgIExvZ2lj
YWxTZWxlY3Rpb25PZmZzZXRDYWNoZXMgY2FjaGUoKmNvbnRhaW5pbmdCbG9jayk7CisgICAgTGF5
b3V0VW5pdCBsZWZ0T2Zmc2V0ID0gY29udGFpbmluZ0Jsb2NrLT5sb2dpY2FsTGVmdFNlbGVjdGlv
bk9mZnNldCgqY29udGFpbmluZ0Jsb2NrLCBib3gtPmxvZ2ljYWxUb3AoKSwgY2FjaGUpOworICAg
IExheW91dFVuaXQgcmlnaHRPZmZzZXQgPSBjb250YWluaW5nQmxvY2stPmxvZ2ljYWxSaWdodFNl
bGVjdGlvbk9mZnNldCgqY29udGFpbmluZ0Jsb2NrLCBib3gtPmxvZ2ljYWxUb3AoKSwgY2FjaGUp
OworICAgIExheW91dFJlY3QgZXh0ZW50c1JlY3QgPSByZWN0OworICAgIGlmIChib3gtPmlzSG9y
aXpvbnRhbCgpKSB7CisgICAgICAgIGV4dGVudHNSZWN0LnNldFgobGVmdE9mZnNldCk7CisgICAg
ICAgIGV4dGVudHNSZWN0LnNldFdpZHRoKHJpZ2h0T2Zmc2V0IC0gbGVmdE9mZnNldCk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgZXh0ZW50c1JlY3Quc2V0WShsZWZ0T2Zmc2V0KTsKKyAgICAgICAg
ZXh0ZW50c1JlY3Quc2V0SGVpZ2h0KHJpZ2h0T2Zmc2V0IC0gbGVmdE9mZnNldCk7CisgICAgfQor
ICAgIGV4dGVudHNSZWN0ID0gbG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFJlY3QoZXh0ZW50c1Jl
Y3QpKS5lbmNsb3NpbmdCb3VuZGluZ0JveCgpOworICAgIGlmICghYm94LT5pc0hvcml6b250YWwo
KSkKKyAgICAgICAgZXh0ZW50c1JlY3QgPSBleHRlbnRzUmVjdC50cmFuc3Bvc2VkUmVjdCgpOwor
ICAgIGJvb2wgaXNGaXJzdE9uTGluZSA9ICFib3gtPnByZXZpb3VzT25MaW5lRXhpc3RzKCk7Cisg
ICAgYm9vbCBpc0xhc3RPbkxpbmUgPSAhYm94LT5uZXh0T25MaW5lRXhpc3RzKCk7CisgICAgaWYg
KGNvbnRhaW5pbmdCbG9jay0+aXNSdWJ5QmFzZSgpIHx8IGNvbnRhaW5pbmdCbG9jay0+aXNSdWJ5
VGV4dCgpKQorICAgICAgICBpc0xhc3RPbkxpbmUgPSAhY29udGFpbmluZ0Jsb2NrLT5jb250YWlu
aW5nQmxvY2soKS0+aW5saW5lQm94V3JhcHBlcigpLT5uZXh0T25MaW5lRXhpc3RzKCk7CisKKyAg
ICBib29sIGlzRml4ZWQgPSBmYWxzZTsKKyAgICBJbnRSZWN0IGFic1JlY3QgPSBsb2NhbFRvQWJz
b2x1dGVRdWFkKEZsb2F0UmVjdChyZWN0KSwgZmFsc2UsICZpc0ZpeGVkKS5lbmNsb3NpbmdCb3Vu
ZGluZ0JveCgpOworICAgIGJvb2wgYm94SXNIb3Jpem9udGFsID0gIWJveC0+aXNTVkdJbmxpbmVU
ZXh0Qm94KCkgPyBib3gtPmlzSG9yaXpvbnRhbCgpIDogIXN0eWxlKCkuc3ZnU3R5bGUoKS5pc1Zl
cnRpY2FsV3JpdGluZ01vZGUoKTsKKyAgICAvLyBJZiB0aGUgY29udGFpbmluZyBibG9jayBpcyBh
biBpbmxpbmUgZWxlbWVudCwgd2Ugd2FudCB0byBjaGVjayB0aGUgaW5saW5lQm94V3JhcHBlciBv
cmllbnRhdGlvbgorICAgIC8vIHRvIGRldGVybWluZSB0aGUgb3JpZW50YXRpb24gb2YgdGhlIGJs
b2NrLiBJbiB0aGlzIGNhc2Ugd2UgYWxzbyB1c2UgdGhlIGlubGluZUJveFdyYXBwZXIgdG8KKyAg
ICAvLyBkZXRlcm1pbmUgaWYgdGhlIGVsZW1lbnQgaXMgdGhlIGxhc3Qgb24gdGhlIGxpbmUuCisg
ICAgaWYgKGNvbnRhaW5pbmdCbG9jay0+aW5saW5lQm94V3JhcHBlcigpKSB7CisgICAgICAgIGlm
IChjb250YWluaW5nQmxvY2stPmlubGluZUJveFdyYXBwZXIoKS0+aXNIb3Jpem9udGFsKCkgIT0g
Ym94SXNIb3Jpem9udGFsKSB7CisgICAgICAgICAgICBib3hJc0hvcml6b250YWwgPSBjb250YWlu
aW5nQmxvY2stPmlubGluZUJveFdyYXBwZXIoKS0+aXNIb3Jpem9udGFsKCk7CisgICAgICAgICAg
ICBpc0xhc3RPbkxpbmUgPSAhY29udGFpbmluZ0Jsb2NrLT5pbmxpbmVCb3hXcmFwcGVyKCktPm5l
eHRPbkxpbmVFeGlzdHMoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJlY3RzLmFwcGVuZChT
ZWxlY3Rpb25SZWN0KGFic1JlY3QsIGJveC0+ZGlyZWN0aW9uKCksIGV4dGVudHNSZWN0LngoKSwg
ZXh0ZW50c1JlY3QubWF4WCgpLCBleHRlbnRzUmVjdC5tYXhZKCksIDAsIGJveC0+aXNMaW5lQnJl
YWsoKSwgaXNGaXJzdE9uTGluZSwgaXNMYXN0T25MaW5lLCBmYWxzZSwgZmFsc2UsIGJveElzSG9y
aXpvbnRhbCwgaXNGaXhlZCwgY29udGFpbmluZ0Jsb2NrLT5pc1J1YnlUZXh0KCksIHZpZXcoKS5w
YWdlTnVtYmVyRm9yQmxvY2tQcm9ncmVzc2lvbk9mZnNldChhYnNSZWN0LngoKSkpKTsKK30KKyNl
bmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGluZUJyZWFrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpbmVCcmVhay5oCShyZXZpc2lvbiAxNjgzMDUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYg
KzUxLDkgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGFic29sdXRlUmVjdHMoVmVjdG9y
PEludFJlY3Q+JiwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBjb25zdCBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgYWJzb2x1dGVRdWFkcyhWZWN0b3I8RmxvYXRRdWFk
PiYsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdCBvdmVycmlkZTsKKyNpZiBQTEFURk9STShJT1MpCit2
aXJ0dWFsIHZvaWQgY29sbGVjdFNlbGVjdGlvblJlY3RzKFZlY3RvcjxTZWxlY3Rpb25SZWN0PiYs
IHVuc2lnbmVkIHN0YXJ0T2Zmc2V0ID0gMCwgdW5zaWduZWQgZW5kT2Zmc2V0ID0gc3RkOjpudW1l
cmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgpKSBvdmVycmlkZTsKKyNlbmRpZgogCiBwcml2YXRl
OgogICAgIHZvaWQgbm9kZSgpIGNvbnN0ID0gZGVsZXRlOwo=
</data>
<flag name="review"
          id="255266"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>