<?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>121479</bug_id>
          
          <creation_ts>2013-09-17 04:03:39 -0700</creation_ts>
          <short_desc>Move text caret rect computation to root inline box</short_desc>
          <delta_ts>2013-09-17 05:35:43 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kling</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>930139</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-09-17 04:03:39 -0700</bug_when>
    <thetext>For future code sharing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930143</commentid>
    <comment_count>1</comment_count>
      <attachid>211884</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-09-17 04:10:42 -0700</bug_when>
    <thetext>Created attachment 211884
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930146</commentid>
    <comment_count>2</comment_count>
      <attachid>211884</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-17 04:19:14 -0700</bug_when>
    <thetext>Comment on attachment 211884
patch

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

&gt; Source/WebCore/rendering/RootInlineBox.h:138
&gt; +    IntRect computeCaretRect(float left, unsigned caretWidth, LayoutUnit* extraWidthToEndOfLine);

Can this be const?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930172</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-09-17 05:35:43 -0700</bug_when>
    <thetext>https://trac.webkit.org/r155949</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211884</attachid>
            <date>2013-09-17 04:10:42 -0700</date>
            <delta_ts>2013-09-17 04:19:13 -0700</delta_ts>
            <desc>patch</desc>
            <filename>text-caret-computation.patch</filename>
            <type>text/plain</type>
            <size>6414</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NTk0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEzLTA5LTE3ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIHRleHQgY2FyZXQgcmVj
dCBjb21wdXRhdGlvbiB0byByb290IGlubGluZSBib3gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTQ3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvciBmdXR1cmUgY29kZSBzaGFyaW5nLgorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGV4dDo6bG9jYWxDYXJldFJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9Sb290SW5saW5lQm94
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJvb3RJbmxpbmVCb3g6OmNvbXB1dGVDYXJldFJlY3Qp
OgorICAgICAgICAqIHJlbmRlcmluZy9Sb290SW5saW5lQm94Lmg6CisKIDIwMTMtMDktMTcgIEFu
ZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIENUVEU6IFBhc3MgUmVu
ZGVyQXJlbmEgYXJvdW5kIGJ5IHJlZmVyZW5jZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dC5jcHAJKHJldmlzaW9uIDE1NTk0MykKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjU5LDcxICs2NTksOSBA
QCBMYXlvdXRSZWN0IFJlbmRlclRleHQ6OmxvY2FsQ2FyZXRSZWN0KEluCiAgICAgaWYgKCFpbmxp
bmVCb3gpCiAgICAgICAgIHJldHVybiBMYXlvdXRSZWN0KCk7CiAKLSAgICBBU1NFUlQoaW5saW5l
Qm94LT5pc0lubGluZVRleHRCb3goKSk7Ci0gICAgaWYgKCFpbmxpbmVCb3gtPmlzSW5saW5lVGV4
dEJveCgpKQotICAgICAgICByZXR1cm4gTGF5b3V0UmVjdCgpOwotCiAgICAgSW5saW5lVGV4dEJv
eCogYm94ID0gdG9JbmxpbmVUZXh0Qm94KGlubGluZUJveCk7Ci0KLSAgICBjb25zdCBSb290SW5s
aW5lQm94JiByb290Qm94ID0gYm94LT5yb290KCk7Ci0gICAgaW50IGhlaWdodCA9IHJvb3RCb3gu
c2VsZWN0aW9uSGVpZ2h0KCk7Ci0gICAgaW50IHRvcCA9IHJvb3RCb3guc2VsZWN0aW9uVG9wKCk7
Ci0KLSAgICAvLyBHbyBhaGVhZCBhbmQgcm91bmQgbGVmdCB0byBzbmFwIGl0IHRvIHRoZSBuZWFy
ZXN0IHBpeGVsLgogICAgIGZsb2F0IGxlZnQgPSBib3gtPnBvc2l0aW9uRm9yT2Zmc2V0KGNhcmV0
T2Zmc2V0KTsKLQotICAgIC8vIERpc3RyaWJ1dGUgdGhlIGNhcmV0J3Mgd2lkdGggdG8gZWl0aGVy
IHNpZGUgb2YgdGhlIG9mZnNldC4KLSAgICBpbnQgY2FyZXRXaWR0aExlZnRPZk9mZnNldCA9IGNh
cmV0V2lkdGggLyAyOwotICAgIGxlZnQgLT0gY2FyZXRXaWR0aExlZnRPZk9mZnNldDsKLSAgICBp
bnQgY2FyZXRXaWR0aFJpZ2h0T2ZPZmZzZXQgPSBjYXJldFdpZHRoIC0gY2FyZXRXaWR0aExlZnRP
Zk9mZnNldDsKLQotICAgIGxlZnQgPSByb3VuZGYobGVmdCk7Ci0KLSAgICBmbG9hdCByb290TGVm
dCA9IHJvb3RCb3gubG9naWNhbExlZnQoKTsKLSAgICBmbG9hdCByb290UmlnaHQgPSByb290Qm94
LmxvZ2ljYWxSaWdodCgpOwotCi0gICAgLy8gRklYTUU6IHNob3VsZCB3ZSB1c2UgdGhlIHdpZHRo
IG9mIHRoZSByb290IGlubGluZSBib3ggb3IgdGhlCi0gICAgLy8gd2lkdGggb2YgdGhlIGNvbnRh
aW5pbmcgYmxvY2sgZm9yIHRoaXM/Ci0gICAgaWYgKGV4dHJhV2lkdGhUb0VuZE9mTGluZSkKLSAg
ICAgICAgKmV4dHJhV2lkdGhUb0VuZE9mTGluZSA9IChyb290Qm94LmxvZ2ljYWxXaWR0aCgpICsg
cm9vdExlZnQpIC0gKGxlZnQgKyAxKTsKLQotICAgIFJlbmRlckJsb2NrKiBjYiA9IGNvbnRhaW5p
bmdCbG9jaygpOwotICAgIFJlbmRlclN0eWxlKiBjYlN0eWxlID0gY2ItPnN0eWxlKCk7Ci0KLSAg
ICBmbG9hdCBsZWZ0RWRnZTsKLSAgICBmbG9hdCByaWdodEVkZ2U7Ci0gICAgbGVmdEVkZ2UgPSBt
aW48ZmxvYXQ+KDAsIHJvb3RMZWZ0KTsKLSAgICByaWdodEVkZ2UgPSBtYXg8ZmxvYXQ+KGNiLT5s
b2dpY2FsV2lkdGgoKSwgcm9vdFJpZ2h0KTsKLQotICAgIGJvb2wgcmlnaHRBbGlnbmVkID0gZmFs
c2U7Ci0gICAgc3dpdGNoIChjYlN0eWxlLT50ZXh0QWxpZ24oKSkgewotICAgIGNhc2UgUklHSFQ6
Ci0gICAgY2FzZSBXRUJLSVRfUklHSFQ6Ci0gICAgICAgIHJpZ2h0QWxpZ25lZCA9IHRydWU7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgTEVGVDoKLSAgICBjYXNlIFdFQktJVF9MRUZUOgotICAg
IGNhc2UgQ0VOVEVSOgotICAgIGNhc2UgV0VCS0lUX0NFTlRFUjoKLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBKVVNUSUZZOgotICAgIGNhc2UgVEFTVEFSVDoKLSAgICAgICAgcmlnaHRBbGlnbmVk
ID0gIWNiU3R5bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBUQUVORDoKLSAgICAgICAgcmlnaHRBbGlnbmVkID0gY2JTdHlsZS0+aXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICBpZiAocmlnaHRB
bGlnbmVkKSB7Ci0gICAgICAgIGxlZnQgPSBtYXgobGVmdCwgbGVmdEVkZ2UpOwotICAgICAgICBs
ZWZ0ID0gbWluKGxlZnQsIHJvb3RSaWdodCAtIGNhcmV0V2lkdGgpOwotICAgIH0gZWxzZSB7Ci0g
ICAgICAgIGxlZnQgPSBtaW4obGVmdCwgcmlnaHRFZGdlIC0gY2FyZXRXaWR0aFJpZ2h0T2ZPZmZz
ZXQpOwotICAgICAgICBsZWZ0ID0gbWF4KGxlZnQsIHJvb3RMZWZ0KTsKLSAgICB9Ci0KLSAgICBy
ZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEludFJlY3QobGVmdCwg
dG9wLCBjYXJldFdpZHRoLCBoZWlnaHQpIDogSW50UmVjdCh0b3AsIGxlZnQsIGhlaWdodCwgY2Fy
ZXRXaWR0aCk7CisgICAgcmV0dXJuIGJveC0+cm9vdCgpLmNvbXB1dGVDYXJldFJlY3QobGVmdCwg
Y2FyZXRXaWR0aCwgZXh0cmFXaWR0aFRvRW5kT2ZMaW5lKTsKIH0KIAogQUxXQVlTX0lOTElORSBm
bG9hdCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DYWNoZShjb25zdCBGb250JiBmLCBpbnQgc3RhcnQs
IGludCBsZW4sIGZsb2F0IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFs
bGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHJldmlzaW9uIDE1NTk0
MykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTIxLDYgKzUyMSw1OSBAQCBHYXBSZWN0cyBSb290SW5saW5lQm94OjpsaW5l
U2VsZWN0aW9uR2FwCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorSW50UmVjdCBSb290SW5saW5l
Qm94Ojpjb21wdXRlQ2FyZXRSZWN0KGZsb2F0IGxlZnQsIHVuc2lnbmVkIGNhcmV0V2lkdGgsIExh
eW91dFVuaXQqIGV4dHJhV2lkdGhUb0VuZE9mTGluZSkKK3sKKyAgICBpbnQgaGVpZ2h0ID0gc2Vs
ZWN0aW9uSGVpZ2h0KCk7CisgICAgaW50IHRvcCA9IHNlbGVjdGlvblRvcCgpOworCisgICAgLy8g
RGlzdHJpYnV0ZSB0aGUgY2FyZXQncyB3aWR0aCB0byBlaXRoZXIgc2lkZSBvZiB0aGUgb2Zmc2V0
LgorICAgIGludCBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0ID0gY2FyZXRXaWR0aCAvIDI7CisgICAg
bGVmdCAtPSBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0OworICAgIGludCBjYXJldFdpZHRoUmlnaHRP
Zk9mZnNldCA9IGNhcmV0V2lkdGggLSBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0OworICAgIGxlZnQg
PSByb3VuZGYobGVmdCk7CisKKyAgICBmbG9hdCByb290TGVmdCA9IGxvZ2ljYWxMZWZ0KCk7Cisg
ICAgZmxvYXQgcm9vdFJpZ2h0ID0gbG9naWNhbFJpZ2h0KCk7CisKKyAgICAvLyBGSVhNRTogc2hv
dWxkIHdlIHVzZSB0aGUgd2lkdGggb2YgdGhlIHJvb3QgaW5saW5lIGJveCBvciB0aGUKKyAgICAv
LyB3aWR0aCBvZiB0aGUgY29udGFpbmluZyBibG9jayBmb3IgdGhpcz8KKyAgICBpZiAoZXh0cmFX
aWR0aFRvRW5kT2ZMaW5lKQorICAgICAgICAqZXh0cmFXaWR0aFRvRW5kT2ZMaW5lID0gKGxvZ2lj
YWxXaWR0aCgpICsgcm9vdExlZnQpIC0gKGxlZnQgKyAxKTsKKworICAgIGZsb2F0IGxlZnRFZGdl
ID0gc3RkOjptaW48ZmxvYXQ+KDAsIHJvb3RMZWZ0KTsKKyAgICBmbG9hdCByaWdodEVkZ2UgPSBz
dGQ6Om1heDxmbG9hdD4oYmxvY2soKS5sb2dpY2FsV2lkdGgoKSwgcm9vdFJpZ2h0KTsKKworICAg
IFJlbmRlclN0eWxlKiBibG9ja1N0eWxlID0gYmxvY2soKS5zdHlsZSgpOworICAgIGJvb2wgcmln
aHRBbGlnbmVkID0gZmFsc2U7CisgICAgc3dpdGNoIChibG9ja1N0eWxlLT50ZXh0QWxpZ24oKSkg
eworICAgIGNhc2UgUklHSFQ6CisgICAgY2FzZSBXRUJLSVRfUklHSFQ6CisgICAgICAgIHJpZ2h0
QWxpZ25lZCA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTEVGVDoKKyAgICBjYXNl
IFdFQktJVF9MRUZUOgorICAgIGNhc2UgQ0VOVEVSOgorICAgIGNhc2UgV0VCS0lUX0NFTlRFUjoK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBKVVNUSUZZOgorICAgIGNhc2UgVEFTVEFSVDoKKyAg
ICAgICAgcmlnaHRBbGlnbmVkID0gIWJsb2NrU3R5bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24o
KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBUQUVORDoKKyAgICAgICAgcmlnaHRBbGlnbmVk
ID0gYmxvY2tTdHlsZS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpOworICAgICAgICBicmVhazsK
KyAgICB9CisKKyAgICBpZiAocmlnaHRBbGlnbmVkKSB7CisgICAgICAgIGxlZnQgPSBtYXgobGVm
dCwgbGVmdEVkZ2UpOworICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIHJvb3RSaWdodCAtIGNhcmV0
V2lkdGgpOworICAgIH0gZWxzZSB7CisgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgcmlnaHRFZGdl
IC0gY2FyZXRXaWR0aFJpZ2h0T2ZPZmZzZXQpOworICAgICAgICBsZWZ0ID0gbWF4KGxlZnQsIHJv
b3RMZWZ0KTsKKyAgICB9CisgICAgcmV0dXJuIGJsb2NrU3R5bGUtPmlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkgPyBJbnRSZWN0KGxlZnQsIHRvcCwgY2FyZXRXaWR0aCwgaGVpZ2h0KSA6IEludFJl
Y3QodG9wLCBsZWZ0LCBoZWlnaHQsIGNhcmV0V2lkdGgpOworfQorCiBSZW5kZXJPYmplY3Q6OlNl
bGVjdGlvblN0YXRlIFJvb3RJbmxpbmVCb3g6OnNlbGVjdGlvblN0YXRlKCkKIHsKICAgICAvLyBX
YWxrIG92ZXIgYWxsIG9mIHRoZSBzZWxlY3RlZCBib3hlcy4KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAkocmV2aXNpb24gMTU1OTQzKQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDYg
KzEzNSw4IEBAIHB1YmxpYzoKICAgICBHYXBSZWN0cyBsaW5lU2VsZWN0aW9uR2FwKFJlbmRlckJs
b2NrKiByb290QmxvY2ssIGNvbnN0IExheW91dFBvaW50JiByb290QmxvY2tQaHlzaWNhbFBvc2l0
aW9uLCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXRGcm9tUm9vdEJsb2NrLAogICAgICAgICBMYXlv
dXRVbml0IHNlbFRvcCwgTGF5b3V0VW5pdCBzZWxIZWlnaHQsIGNvbnN0IExvZ2ljYWxTZWxlY3Rp
b25PZmZzZXRDYWNoZXMmLCBjb25zdCBQYWludEluZm8qKTsKIAorICAgIEludFJlY3QgY29tcHV0
ZUNhcmV0UmVjdChmbG9hdCBsZWZ0LCB1bnNpZ25lZCBjYXJldFdpZHRoLCBMYXlvdXRVbml0KiBl
eHRyYVdpZHRoVG9FbmRPZkxpbmUpOworCiAgICAgUmVuZGVyQmxvY2smIGJsb2NrKCkgY29uc3Q7
CiAKICAgICBJbmxpbmVCb3gqIGNsb3Nlc3RMZWFmQ2hpbGRGb3JQb2ludChjb25zdCBJbnRQb2lu
dCYsIGJvb2wgb25seUVkaXRhYmxlTGVhdmVzKTsK
</data>
<flag name="review"
          id="234017"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>