<?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>131493</bug_id>
          
          <creation_ts>2014-04-10 09:07:26 -0700</creation_ts>
          <short_desc>[iOS WebKit2] Support phraseboundary gesture recognizer for CJK</short_desc>
          <delta_ts>2014-04-10 13:14:48 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>999543</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2014-04-10 09:07:26 -0700</bug_when>
    <thetext>This bugs tracks the work required to implement phrase boundary gesture for CJK keyboards.

&lt;rdar://problem/16319583&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999546</commentid>
    <comment_count>1</comment_count>
      <attachid>229053</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2014-04-10 09:28:05 -0700</bug_when>
    <thetext>Created attachment 229053
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999627</commentid>
    <comment_count>2</comment_count>
      <attachid>229053</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-04-10 13:14:48 -0700</bug_when>
    <thetext>Comment on attachment 229053
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:1492
&gt; +            static const uint32_t kHitAreaWidth = 66;
&gt; +            static const uint32_t kHitAreaHeight = 66;

They should not be static. (although I am curious if the compiler would optimize it out).

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:1493
&gt; +            FrameView* view = frame.view();

Let&apos;s use a reference to make Andreas happy.

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:1506
&gt; +            float deltaX = ABS(caretRect.x() + (caretRect.width() / 2) - point.x());
&gt; +            float deltaYFromTheTop = ABS(caretRect.y() - point.y());
&gt; +            float deltaYFromTheBottom = ABS(caretRect.y() + caretRect.height() - point.y());

Let&apos;s use the std abs.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229053</attachid>
            <date>2014-04-10 09:28:05 -0700</date>
            <delta_ts>2014-04-10 13:14:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>phreaseboundary-webkit.txt</filename>
            <type>text/plain</type>
            <size>9354</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NzA3MykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDE0LTA0LTEwICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPUyBXZWJLaXQyXSBTdXBw
b3J0IHBocmFzZWJvdW5kYXJ5IGdlc3R1cmUgcmVjb2duaXplciBmb3IgQ0pLLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxNDkzCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8xNjMxOTU4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBPbiBpT1MgaXQgaXMgcG9zc2libGUgd2l0aCBhIGdlc3R1cmUgdG8g
Y2hhbmdlIHRoZSBzZWxlY3Rpb24KKyAgICAgICAgd2l0aGluIHRoZSBtYXJrZWQgdGV4dC4KKyAg
ICAgICAgQ2hhbmdpbmcgdGhlIHNlbGVjdGlvbiB0cmlnZ2VycyBhbHNvIHRoZSB1cGRhdGUgb2Yg
dGhlIGlubGluZSBjYW5kaWRhdGVzCisgICAgICAgIG92ZXIgdGhlIGtleWJvYXJkIGFyZWEuCisg
ICAgICAgIFRoZSBwYXRjaCBhZGRzIHRoZSBsb2dpYyB0byBkZWNpZGUgd2hldGhlciB0aGUgZ2Vz
dHVyZSBjYW4gYmVnaW4KKyAgICAgICAgYXMgd2VsbCBhcyB0aGUgY29kZSBmb3IgdGhlIG1vdmVt
ZW50IG9mCisgICAgICAgIHRoZSBzZWxlY3Rpb24gd2l0aGluIHRoZSBtYXJrZWQgcmFuZ2UuCisg
ICAgICAgIFRoZSBnZXN0dXJlIGlzIGFsbG93ZWQgdG8gc3RhcnQgd2l0aGluIGEgZ2l2ZW4gcmFk
aXVzIGZyb20gdGhlIG1hcmtlZAorICAgICAgICBhcmVhLgorCisgICAgICAgICogU2hhcmVkL0lu
dGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW50
ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb246OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6
OkludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uOjpkZWNvZGUpOgorICAgICAgICAqIFNo
YXJlZC9JbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5oOgorICAgICAgICAoV2ViS2l0
OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbjo6SW50ZXJhY3Rpb25JbmZvcm1hdGlv
bkF0UG9zaXRpb24pOgorICAgICAgICAqIFNoYXJlZC9pb3MvR2VzdHVyZVR5cGVzLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6ZWRpdG9yU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBwb2lu
dElzTmVhck1hcmtlZFRleHQ6XSk6CisgICAgICAgICh0b0dlc3R1cmVUeXBlKToKKyAgICAgICAg
KHRvVUlXS0dlc3R1cmVUeXBlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dl
YlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNlbGVjdFdpdGhHZXN0dXJl
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Z2V0UG9zaXRpb25JbmZvcm1hdGlvbik6CisK
IDIwMTQtMDQtMTAgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHVEtdIExheWVyVHJlZUhvc3RHdGsgaXMgY3JlYXRpbmcgYSBzb2Z0d2FyZSBzY2Vu
ZSBncmFwaApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0ludGVyYWN0aW9uSW5mb3JtYXRp
b25BdFBvc2l0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvSW50
ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uY3BwCShyZXZpc2lvbiAxNjcwNzIpCisrKyBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBAIHZvaWQgSW50ZXJhY3Rpb25JbmZvcm1h
dGlvbkF0UG9zaXRpb246OmUKICAgICBlbmNvZGVyIDw8IHBvaW50OwogICAgIGVuY29kZXIgPDwg
bm9kZUF0UG9zaXRpb25Jc0Fzc2lzdGVkTm9kZTsKICAgICBlbmNvZGVyIDw8IGlzU2VsZWN0YWJs
ZTsKKyAgICBlbmNvZGVyIDw8IGlzTmVhck1hcmtlZFRleHQ7CiAgICAgZW5jb2RlciA8PCBjbGlj
a2FibGVFbGVtZW50TmFtZTsKICAgICBlbmNvZGVyIDw8IHVybDsKICAgICBlbmNvZGVyIDw8IHRp
dGxlOwpAQCAtNTQsNiArNTUsOSBAQCBib29sIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0
aW9uOjpkCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuaXNTZWxlY3RhYmxlKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuaXNO
ZWFyTWFya2VkVGV4dCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocmVzdWx0LmNsaWNrYWJsZUVsZW1lbnROYW1lKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvSW50ZXJhY3Rpb25JbmZvcm1hdGlv
bkF0UG9zaXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvSW50ZXJh
Y3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaAkocmV2aXNpb24gMTY3MDcyKQorKysgU291cmNl
L1dlYktpdDIvU2hhcmVkL0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM4LDEyICszOCwxNCBAQCBzdHJ1Y3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlv
bkF0UG9zaXRpb24gCiAgICAgSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24oKQogICAg
ICAgICA6IG5vZGVBdFBvc2l0aW9uSXNBc3Npc3RlZE5vZGUoZmFsc2UpCiAgICAgICAgICwgaXNT
ZWxlY3RhYmxlKGZhbHNlKQorICAgICAgICAsIGlzTmVhck1hcmtlZFRleHQoZmFsc2UpCiAgICAg
ewogICAgIH0KIAogICAgIFdlYkNvcmU6OkludFBvaW50IHBvaW50OwogICAgIGJvb2wgbm9kZUF0
UG9zaXRpb25Jc0Fzc2lzdGVkTm9kZTsKICAgICBib29sIGlzU2VsZWN0YWJsZTsKKyAgICBib29s
IGlzTmVhck1hcmtlZFRleHQ7CiAgICAgU3RyaW5nIGNsaWNrYWJsZUVsZW1lbnROYW1lOwogICAg
IFN0cmluZyB1cmw7CiAgICAgU3RyaW5nIHRpdGxlOwpJbmRleDogU291cmNlL1dlYktpdDIvU2hh
cmVkL2lvcy9HZXN0dXJlVHlwZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvaW9zL0dlc3R1cmVUeXBlcy5oCShyZXZpc2lvbiAxNjcwNzIpCisrKyBTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvaW9zL0dlc3R1cmVUeXBlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw4
IEBAIGVudW0gY2xhc3MgR2VzdHVyZVR5cGUgewogICAgIFR3b0ZpbmdlclNpbmdsZVRhcCwKICAg
ICBUd29GaW5nZXJSYW5nZWRTZWxlY3RHZXN0dXJlLAogICAgIFRhcE9uTGlua1dpdGhHZXN0dXJl
LAotICAgIE1ha2VXZWJTZWxlY3Rpb24KKyAgICBNYWtlV2ViU2VsZWN0aW9uLAorICAgIFBocmFz
ZUJvdW5kYXJ5CiB9OwogCiBlbnVtIGNsYXNzIFNlbGVjdGlvblRvdWNoIHsKQEAgLTczLDYgKzc0
LDcgQEAgZW51bSBTZWxlY3Rpb25GbGFncyB7CiAgICAgTm9uZSA9IDAsCiAgICAgV29yZElzTmVh
clRhcCA9IDEgPDwgMCwKICAgICBJc0Jsb2NrU2VsZWN0aW9uID0gMSA8PCAxLAorICAgIFBocmFz
ZUJvdW5kYXJ5Q2hhbmdlZCA9IDEgPDwgMiwKIH07CiAKIGVudW0gY2xhc3MgU2VsZWN0aW9uSGFu
ZGxlUG9zaXRpb24gewpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAJKHJldmlzaW9uIDE2NzA3MikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMTU2LDEwICszMTU2LDkgQEAgdm9pZCBX
ZWJQYWdlUHJveHk6OmVkaXRvclN0YXRlQ2hhbmdlZChjbwogICAgICAgICBtX3BhZ2VDbGllbnQu
bm90aWZ5SW5wdXRDb250ZXh0QWJvdXREaXNjYXJkZWRDb21wb3NpdGlvbigpOwogICAgIH0KICNl
bGlmIFBMQVRGT1JNKElPUykKLSAgICBpZiAoIWVkaXRvclN0YXRlLmhhc0NvbXBvc2l0aW9uKSB7
Ci0gICAgICAgIC8vIFdlIG5lZWQgdG8gbm90aWZ5IHRoZSBjbGllbnQgb24gaU9TIHRvIG1ha2Ug
c3VyZSB0aGUgc2VsZWN0aW9uIGlzIHJlZHJhd24uCi0gICAgICAgIG5vdGlmeVJldmVhbGVkU2Vs
ZWN0aW9uKCk7Ci0gICAgfQorICAgIC8vIFdlIGFsd2F5cyBuZWVkIHRvIG5vdGlmeSB0aGUgY2xp
ZW50IG9uIGlPUyB0byBtYWtlIHN1cmUgdGhlIHNlbGVjdGlvbiBpcyByZWRyYXduLAorICAgIC8v
IGV2ZW4gZHVyaW5nIGNvbXBvc2l0aW9uIHRvIHN1cHBvcnQgcGhyYXNlIGJvdW5kYXJ5IGdlc3R1
cmUuCisgICAgbm90aWZ5UmV2ZWFsZWRTZWxlY3Rpb24oKTsKICNlbGlmIFBMQVRGT1JNKEVGTCkg
fHwgUExBVEZPUk0oR1RLKQogICAgIG1fcGFnZUNsaWVudC51cGRhdGVUZXh0SW5wdXRTdGF0ZSgp
OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQkocmV2aXNpb24gMTY3MDcyKQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0JKHdv
cmtpbmcgY29weSkKQEAgLTYyNSw2ICs2MjUsMTIgQEAgLSAoQk9PTCloYXNTZWxlY3RhYmxlUG9z
aXRpb25BdFBvaW50OihDRwogICAgIHJldHVybiBfcG9zaXRpb25JbmZvcm1hdGlvbi5pc1NlbGVj
dGFibGU7CiB9CiAKKy0gKEJPT0wpcG9pbnRJc05lYXJNYXJrZWRUZXh0OihDR1BvaW50KXBvaW50
Cit7CisgICAgW3NlbGYgZW5zdXJlUG9zaXRpb25JbmZvcm1hdGlvbklzVXBUb0RhdGU6cG9pbnRd
OworICAgIHJldHVybiBfcG9zaXRpb25JbmZvcm1hdGlvbi5pc05lYXJNYXJrZWRUZXh0OworfQor
CiAtIChCT09MKXBvaW50SXNJbkFzc2lzdGVkTm9kZTooQ0dQb2ludClwb2ludAogewogICAgIFtz
ZWxmIGVuc3VyZVBvc2l0aW9uSW5mb3JtYXRpb25Jc1VwVG9EYXRlOnBvaW50XTsKQEAgLTEwNjYs
NiArMTA3Miw4IEBAIHN0YXRpYyBpbmxpbmUgR2VzdHVyZVR5cGUgdG9HZXN0dXJlVHlwZSgKICAg
ICAgICAgcmV0dXJuIEdlc3R1cmVUeXBlOjpUYXBPbkxpbmtXaXRoR2VzdHVyZTsKICAgICBjYXNl
IFVJV0tHZXN0dXJlTWFrZVdlYlNlbGVjdGlvbjoKICAgICAgICAgcmV0dXJuIEdlc3R1cmVUeXBl
OjpNYWtlV2ViU2VsZWN0aW9uOworICAgIGNhc2UgVUlXS0dlc3R1cmVQaHJhc2VCb3VuZGFyeToK
KyAgICAgICAgcmV0dXJuIEdlc3R1cmVUeXBlOjpQaHJhc2VCb3VuZGFyeTsKICAgICB9CiAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIEdlc3R1cmVUeXBlOjpMb3VwZTsKQEAg
LTExMDIsNiArMTExMCw4IEBAIHN0YXRpYyBpbmxpbmUgVUlXS0dlc3R1cmVUeXBlIHRvVUlXS0dl
c3QKICAgICAgICAgcmV0dXJuIFVJV0tHZXN0dXJlVGFwT25MaW5rV2l0aEdlc3R1cmU7CiAgICAg
Y2FzZSBHZXN0dXJlVHlwZTo6TWFrZVdlYlNlbGVjdGlvbjoKICAgICAgICAgcmV0dXJuIFVJV0tH
ZXN0dXJlTWFrZVdlYlNlbGVjdGlvbjsKKyAgICBjYXNlIEdlc3R1cmVUeXBlOjpQaHJhc2VCb3Vu
ZGFyeToKKyAgICAgICAgcmV0dXJuIFVJV0tHZXN0dXJlUGhyYXNlQm91bmRhcnk7CiAgICAgfQog
fQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJ
T1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lv
cy9XZWJQYWdlSU9TLm1tCShyZXZpc2lvbiAxNjcwNzIpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTUzNyw2
ICs1MzcsMjMgQEAgdm9pZCBXZWJQYWdlOjpzZWxlY3RXaXRoR2VzdHVyZShjb25zdCBJbgogICAg
IFNlbGVjdGlvbkZsYWdzIGZsYWdzID0gTm9uZTsKICAgICBHZXN0dXJlUmVjb2duaXplclN0YXRl
IHdrR2VzdHVyZVN0YXRlID0gc3RhdGljX2Nhc3Q8R2VzdHVyZVJlY29nbml6ZXJTdGF0ZT4oZ2Vz
dHVyZVN0YXRlKTsKICAgICBzd2l0Y2ggKHN0YXRpY19jYXN0PEdlc3R1cmVUeXBlPihnZXN0dXJl
VHlwZSkpIHsKKyAgICBjYXNlIEdlc3R1cmVUeXBlOjpQaHJhc2VCb3VuZGFyeToKKyAgICB7Cisg
ICAgICAgIGlmICghZnJhbWUuZWRpdG9yKCkuaGFzQ29tcG9zaXRpb24oKSkKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBSZWZQdHI8UmFuZ2U+IG1hcmtlZFJhbmdlID0gZnJhbWUuZWRpdG9y
KCkuY29tcG9zaXRpb25SYW5nZSgpOworICAgICAgICBpZiAocG9zaXRpb24gPCBtYXJrZWRSYW5n
ZS0+c3RhcnRQb3NpdGlvbigpKQorICAgICAgICAgICAgcG9zaXRpb24gPSBtYXJrZWRSYW5nZS0+
c3RhcnRQb3NpdGlvbigpOworICAgICAgICBpZiAocG9zaXRpb24gPiBtYXJrZWRSYW5nZS0+ZW5k
UG9zaXRpb24oKSkKKyAgICAgICAgICAgIHBvc2l0aW9uID0gbWFya2VkUmFuZ2UtPmVuZFBvc2l0
aW9uKCk7CisgICAgICAgIGlmICh3a0dlc3R1cmVTdGF0ZSAhPSBHZXN0dXJlUmVjb2duaXplclN0
YXRlOjpCZWdhbikKKyAgICAgICAgICAgIGZsYWdzID0gZGlzdGFuY2VCZXR3ZWVuUG9zaXRpb25z
KG1hcmtlZFJhbmdlLT5zdGFydFBvc2l0aW9uKCksIGZyYW1lLnNlbGVjdGlvbigpLnNlbGVjdGlv
bigpLnN0YXJ0KCkpICE9IGRpc3RhbmNlQmV0d2VlblBvc2l0aW9ucyhtYXJrZWRSYW5nZS0+c3Rh
cnRQb3NpdGlvbigpLCBwb3NpdGlvbikgPyBQaHJhc2VCb3VuZGFyeUNoYW5nZWQgOiBOb25lOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBmbGFncyA9IFBocmFzZUJvdW5kYXJ5Q2hhbmdlZDsK
KyAgICAgICAgcmFuZ2UgPSBSYW5nZTo6Y3JlYXRlKCpmcmFtZS5kb2N1bWVudCgpLCBwb3NpdGlv
biwgcG9zaXRpb24pOworICAgIH0KKyAgICAgICAgYnJlYWs7CisKICAgICBjYXNlIEdlc3R1cmVU
eXBlOjpPbmVGaW5nZXJUYXA6CiAgICAgewogICAgICAgICBWaXNpYmxlUG9zaXRpb24gcmVzdWx0
OwpAQCAtMTQ2OCw2ICsxNDg1LDI5IEBAIHZvaWQgV2ViUGFnZTo6Z2V0UG9zaXRpb25JbmZvcm1h
dGlvbihjb24KIAogICAgIGluZm8ucG9pbnQgPSBwb2ludDsKICAgICBpbmZvLm5vZGVBdFBvc2l0
aW9uSXNBc3Npc3RlZE5vZGUgPSAoaGl0Tm9kZSA9PSBtX2Fzc2lzdGVkTm9kZSk7CisgICAgaWYg
KG1fYXNzaXN0ZWROb2RlKSB7CisgICAgICAgIEZyYW1lJiBmcmFtZSA9IG1fcGFnZS0+Zm9jdXND
b250cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1lKCk7CisgICAgICAgIGlmIChmcmFtZS5lZGl0
b3IoKS5oYXNDb21wb3NpdGlvbigpKSB7CisgICAgICAgICAgICBzdGF0aWMgY29uc3QgdWludDMy
X3Qga0hpdEFyZWFXaWR0aCA9IDY2OworICAgICAgICAgICAgc3RhdGljIGNvbnN0IHVpbnQzMl90
IGtIaXRBcmVhSGVpZ2h0ID0gNjY7CisgICAgICAgICAgICBGcmFtZVZpZXcqIHZpZXcgPSBmcmFt
ZS52aWV3KCk7CisgICAgICAgICAgICBJbnRQb2ludCBhZGp1c3RlZFBvaW50KHZpZXctPnJvb3RW
aWV3VG9Db250ZW50cyhwb2ludCkpOworICAgICAgICAgICAgSW50UG9pbnQgY29uc3RyYWluZWRQ
b2ludCA9IG1fYXNzaXN0ZWROb2RlID8gY29uc3RyYWluUG9pbnQoYWRqdXN0ZWRQb2ludCwgJmZy
YW1lLCBtX2Fzc2lzdGVkTm9kZS5nZXQoKSkgOiBhZGp1c3RlZFBvaW50OworICAgICAgICAgICAg
VmlzaWJsZVBvc2l0aW9uIHBvc2l0aW9uID0gZnJhbWUudmlzaWJsZVBvc2l0aW9uRm9yUG9pbnQo
Y29uc3RyYWluZWRQb2ludCk7CisKKyAgICAgICAgICAgIFJlZlB0cjxSYW5nZT4gY29tcG9zaXRp
b25SYW5nZSA9IGZyYW1lLmVkaXRvcigpLmNvbXBvc2l0aW9uUmFuZ2UoKTsKKyAgICAgICAgICAg
IGlmIChwb3NpdGlvbiA8IGNvbXBvc2l0aW9uUmFuZ2UtPnN0YXJ0UG9zaXRpb24oKSkKKyAgICAg
ICAgICAgICAgICBwb3NpdGlvbiA9IGNvbXBvc2l0aW9uUmFuZ2UtPnN0YXJ0UG9zaXRpb24oKTsK
KyAgICAgICAgICAgIGVsc2UgaWYgKHBvc2l0aW9uID4gY29tcG9zaXRpb25SYW5nZS0+ZW5kUG9z
aXRpb24oKSkKKyAgICAgICAgICAgICAgICBwb3NpdGlvbiA9IGNvbXBvc2l0aW9uUmFuZ2UtPmVu
ZFBvc2l0aW9uKCk7CisgICAgICAgICAgICBJbnRSZWN0IGNhcmV0UmVjdCA9IHZpZXctPmNvbnRl
bnRzVG9Sb290Vmlldyhwb3NpdGlvbi5hYnNvbHV0ZUNhcmV0Qm91bmRzKCkpOworICAgICAgICAg
ICAgZmxvYXQgZGVsdGFYID0gQUJTKGNhcmV0UmVjdC54KCkgKyAoY2FyZXRSZWN0LndpZHRoKCkg
LyAyKSAtIHBvaW50LngoKSk7CisgICAgICAgICAgICBmbG9hdCBkZWx0YVlGcm9tVGhlVG9wID0g
QUJTKGNhcmV0UmVjdC55KCkgLSBwb2ludC55KCkpOworICAgICAgICAgICAgZmxvYXQgZGVsdGFZ
RnJvbVRoZUJvdHRvbSA9IEFCUyhjYXJldFJlY3QueSgpICsgY2FyZXRSZWN0LmhlaWdodCgpIC0g
cG9pbnQueSgpKTsKKworICAgICAgICAgICAgaW5mby5pc05lYXJNYXJrZWRUZXh0ID0gIShkZWx0
YVggPiBrSGl0QXJlYVdpZHRoIHx8IGRlbHRhWUZyb21UaGVUb3AgPiBrSGl0QXJlYUhlaWdodCB8
fCBkZWx0YVlGcm9tVGhlQm90dG9tID4ga0hpdEFyZWFIZWlnaHQpOworICAgICAgICB9CisgICAg
fQogICAgIGJvb2wgZWxlbWVudElzTGlua09ySW1hZ2UgPSBmYWxzZTsKICAgICBpZiAoaGl0Tm9k
ZSkgewogICAgICAgICBpbmZvLmNsaWNrYWJsZUVsZW1lbnROYW1lID0gaGl0Tm9kZS0+bm9kZU5h
bWUoKTsK
</data>
<flag name="review"
          id="253405"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>