<?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>134466</bug_id>
          
          <creation_ts>2014-06-30 15:57:18 -0700</creation_ts>
          <short_desc>REGRESSION (WK2): Weird selection behavior on autos.yahoo.com, en.wikipedia.org</short_desc>
          <delta_ts>2014-06-30 17:28:05 -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>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>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1019445</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2014-06-30 15:57:18 -0700</bug_when>
    <thetext>This bugs track a number of issues in block selections in WK2:
- incorrect block detections shrinking a block selection
- crashes when extending a selection across frame boundaries
- bugs in switching from text to block selection.

&lt;rdar://problem/16817263&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019477</commentid>
    <comment_count>1</comment_count>
      <attachid>234117</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2014-06-30 16:44:34 -0700</bug_when>
    <thetext>Created attachment 234117
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019483</commentid>
    <comment_count>2</comment_count>
      <attachid>234117</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-06-30 17:00:17 -0700</bug_when>
    <thetext>Comment on attachment 234117
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:760
&gt; +    // Make sure the block is selectable.

Probably not useful.

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:764
&gt; +    if (renderer-&gt;childrenInline() &amp;&amp; (renderer-&gt;isRenderBlock() &amp;&amp; toRenderBlock(renderer)-&gt;inlineElementContinuation() == nil) &amp;&amp; !renderer-&gt;isTable()) {

This &quot;== nil&quot; probably comes from UIKit, you can update this to the WebKit style.

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:770
&gt; +    // If all we could find is a block whose height is veriy close to the height

Typo: &quot;veriy&quot;

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:772
&gt; +    const float factor = .97;

Maybe find a better name for this?

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:774
&gt; +    boundingRectInScrollViewCoordinates.scale(m_page-&gt;pageScaleFactor());

This is unlikely correct. The absoluteBoundingBoxRect and unobscuredContentRect should be in the same coordinate system already.

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:776
&gt; +    if (boundingRectInScrollViewCoordinates.height() &gt; m_page-&gt;mainFrame().view()-&gt;unobscuredContentRect().height() * factor)

You may want to use the exposedContentRect() here to make the behavior more predictable. Otherwise the behavior would change depending if the bars are in or out.

It probably does not matter much.

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:1258
&gt; -            newRange = Range::create(newRange-&gt;startContainer()-&gt;document(), newRange-&gt;startPosition(), currentRange-&gt;endPosition());
&gt; +            newRange = Range::create(newRange-&gt;startContainer()-&gt;document(), newRange-&gt;endPosition(), currentRange-&gt;endPosition());
&gt;          else
&gt; -            newRange = Range::create(newRange-&gt;startContainer()-&gt;document(), currentRange-&gt;startPosition(), newRange-&gt;endPosition());
&gt; +            newRange = Range::create(newRange-&gt;startContainer()-&gt;document(), currentRange-&gt;startPosition(), newRange-&gt;startPosition());

Can you add an explanation for this fix in the ChangeLog?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019502</commentid>
    <comment_count>3</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2014-06-30 17:28:05 -0700</bug_when>
    <thetext>Committed revision 170620.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234117</attachid>
            <date>2014-06-30 16:44:34 -0700</date>
            <delta_ts>2014-06-30 17:00:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>blockselectionglitches.txt</filename>
            <type>text/plain</type>
            <size>8436</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MDYxMikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE0LTA2LTMwICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAoV0syKTog
V2VpcmQgc2VsZWN0aW9uIGJlaGF2aW9yIG9uIGF1dG9zLnlhaG9vLmNvbSwgZW4ud2lraXBlZGlh
Lm9yZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
NDQ2NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTY4MTcyNjM+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXZvaWQgc2VsZWN0aW5nIGJsb2NrcyBh
Y3Jvc3MgZnJhbWUgYm91bmRhcmllcyBhbmQgc2tpcCBub24tc2VsZWN0YWJsZQorICAgICAgICBi
bG9ja3MuIElmIHRoZSBvbmx5IGJsb2NrIHdlIGZpbmQgaXMgYWxtb3N0IHRoZSBzYW1lIGhlaWdo
dCBhcyB0aGUKKyAgICAgICAgdmlzaWJsZSBhcmVhLCB3ZSBzaG91bGQgbm90IHNlbGVjdCBhdCBh
bGwuCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBmaXhlcyB0aGUgbG9naWMgd2hlbiBjb21wdXRp
bmcgdGhlIG5leHQgYmxvY2sgd2hlbgorICAgICAgICBzaHJpbmtpbmcgdGhlIHNlbGVjdGlvbi4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6cmFuZ2VGb3JXZWJTZWxlY3Rpb25BdFBvc2l0aW9uKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZXhwYW5kZWRSYW5nZUZyb21IYW5kbGUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpjb250cmFjdGVkUmFuZ2VGcm9tSGFuZGxlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlU2VsZWN0aW9uV2l0aFRvdWNoZXMpOgorCiAyMDE0LTA2
LTMwICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBB
ZGQgYSBtaXNzaW5nIHNlbWljb2xvbiBpbiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24KSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJ
T1MubW0JKHJldmlzaW9uIDE3MDYxMikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9pb3MvV2ViUGFnZUlPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtNzU3LDExICs3NTcsMjUg
QEAgUGFzc1JlZlB0cjxSYW5nZT4gV2ViUGFnZTo6cmFuZ2VGb3JXZWJTZQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIAogICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBiZXN0Q2hvaWNlLT5y
ZW5kZXJlcigpOwotICAgIGlmIChyZW5kZXJlciAmJiByZW5kZXJlci0+Y2hpbGRyZW5JbmxpbmUo
KSAmJiAocmVuZGVyZXItPmlzUmVuZGVyQmxvY2soKSAmJiB0b1JlbmRlckJsb2NrKHJlbmRlcmVy
KS0+aW5saW5lRWxlbWVudENvbnRpbnVhdGlvbigpID09IG5pbCkgJiYgIXJlbmRlcmVyLT5pc1Rh
YmxlKCkpIHsKKyAgICAvLyBNYWtlIHN1cmUgdGhlIGJsb2NrIGlzIHNlbGVjdGFibGUuCisgICAg
aWYgKCFyZW5kZXJlciB8fCByZW5kZXJlci0+c3R5bGUoKS51c2VyU2VsZWN0KCkgPT0gU0VMRUNU
X05PTkUpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgaWYgKHJlbmRlcmVyLT5jaGls
ZHJlbklubGluZSgpICYmIChyZW5kZXJlci0+aXNSZW5kZXJCbG9jaygpICYmIHRvUmVuZGVyQmxv
Y2socmVuZGVyZXIpLT5pbmxpbmVFbGVtZW50Q29udGludWF0aW9uKCkgPT0gbmlsKSAmJiAhcmVu
ZGVyZXItPmlzVGFibGUoKSkgewogICAgICAgICByYW5nZSA9IGVuY2xvc2luZ1RleHRVbml0T2ZH
cmFudWxhcml0eShwb3NpdGlvbiwgV29yZEdyYW51bGFyaXR5LCBEaXJlY3Rpb25CYWNrd2FyZCk7
CiAgICAgICAgIGlmIChyYW5nZSAmJiAhcmFuZ2UtPmNvbGxhcHNlZChBU1NFUlRfTk9fRVhDRVBU
SU9OKSkKICAgICAgICAgICAgIHJldHVybiByYW5nZTsKICAgICB9CisKKyAgICAvLyBJZiBhbGwg
d2UgY291bGQgZmluZCBpcyBhIGJsb2NrIHdob3NlIGhlaWdodCBpcyB2ZXJpeSBjbG9zZSB0byB0
aGUgaGVpZ2h0CisgICAgLy8gb2YgdGhlIHZpc2libGUgYXJlYSwgZG9uJ3QgdXNlIGl0LgorICAg
IGNvbnN0IGZsb2F0IGZhY3RvciA9IC45NzsKKyAgICBib3VuZGluZ1JlY3RJblNjcm9sbFZpZXdD
b29yZGluYXRlcyA9IHJlbmRlcmVyLT5hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdCh0cnVlKTsKKyAg
ICBib3VuZGluZ1JlY3RJblNjcm9sbFZpZXdDb29yZGluYXRlcy5zY2FsZShtX3BhZ2UtPnBhZ2VT
Y2FsZUZhY3RvcigpKTsKKworICAgIGlmIChib3VuZGluZ1JlY3RJblNjcm9sbFZpZXdDb29yZGlu
YXRlcy5oZWlnaHQoKSA+IG1fcGFnZS0+bWFpbkZyYW1lKCkudmlldygpLT51bm9ic2N1cmVkQ29u
dGVudFJlY3QoKS5oZWlnaHQoKSAqIGZhY3RvcikKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisK
ICAgICBmbGFncyA9IElzQmxvY2tTZWxlY3Rpb247CiAgICAgcmFuZ2UgPSBSYW5nZTo6Y3JlYXRl
KGJlc3RDaG9pY2UtPmRvY3VtZW50KCkpOwogICAgIHJhbmdlLT5zZWxlY3ROb2RlQ29udGVudHMo
YmVzdENob2ljZSwgQVNTRVJUX05PX0VYQ0VQVElPTik7CkBAIC0xMTEwLDggKzExMjQsMTMgQEAg
UGFzc1JlZlB0cjxSYW5nZT4gV2ViUGFnZTo6ZXhwYW5kZWRSYW5nZQogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KIAorICAgICAgICBkaXN0YW5jZSA9IGNlaWxmKGRpc3RhbmNlICogbXVs
dGlwbGUpOworCiAgICAgICAgIFJlZlB0cjxSYW5nZT4gbmV3UmFuZ2U7CiAgICAgICAgIFJlZlB0
cjxSYW5nZT4gcmFuZ2VBdFBvc2l0aW9uID0gcmFuZ2VGb3JCbG9ja0F0UG9pbnQodGVzdFBvaW50
KTsKKyAgICAgICAgaWYgKCZjdXJyZW50UmFuZ2UtPm93bmVyRG9jdW1lbnQoKSAhPSAmcmFuZ2VB
dFBvc2l0aW9uLT5vd25lckRvY3VtZW50KCkpCisgICAgICAgICAgICBjb250aW51ZTsKKwogICAg
ICAgICBpZiAoY29udGFpbnNSYW5nZShyYW5nZUF0UG9zaXRpb24uZ2V0KCksIGN1cnJlbnRSYW5n
ZSkpCiAgICAgICAgICAgICBuZXdSYW5nZSA9IHJhbmdlQXRQb3NpdGlvbjsKICAgICAgICAgZWxz
ZSBpZiAoY29udGFpbnNSYW5nZShjdXJyZW50UmFuZ2UsIHJhbmdlQXRQb3NpdGlvbi5nZXQoKSkp
CkBAIC0xMTU1LDggKzExNzQsNiBAQCBQYXNzUmVmUHRyPFJhbmdlPiBXZWJQYWdlOjpleHBhbmRl
ZFJhbmdlCiAgICAgICAgICAgICBiZXN0UmFuZ2UgPSBuZXdSYW5nZTsKICAgICAgICAgICAgIGJl
c3RSZWN0ID0gY29weVJlY3Q7CiAgICAgICAgIH0KLQotICAgICAgICBkaXN0YW5jZSA9IGNlaWxm
KGRpc3RhbmNlICogbXVsdGlwbGUpOwogICAgIH0KIAogICAgIGlmIChiZXN0UmFuZ2UpCkBAIC0x
MjI5LDEzICsxMjQ2LDIyIEBAIFBhc3NSZWZQdHI8UmFuZ2U+IFdlYlBhZ2U6OmNvbnRyYWN0ZWRS
YW4KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKKyAgICAgICAgZGlzdGFuY2UgKj0g
bXVsdGlwbGU7CisKICAgICAgICAgUmVmUHRyPFJhbmdlPiBuZXdSYW5nZSA9IHJhbmdlRm9yQmxv
Y2tBdFBvaW50KHRlc3RQb2ludCk7CisgICAgICAgIGlmICgmbmV3UmFuZ2UtPm93bmVyRG9jdW1l
bnQoKSAhPSAmY3VycmVudFJhbmdlLT5vd25lckRvY3VtZW50KCkpCisgICAgICAgICAgICBjb250
aW51ZTsKKwogICAgICAgICBpZiAoaGFuZGxlUG9zaXRpb24gPT0gU2VsZWN0aW9uSGFuZGxlUG9z
aXRpb246OlRvcCB8fCBoYW5kbGVQb3NpdGlvbiA9PSBTZWxlY3Rpb25IYW5kbGVQb3NpdGlvbjo6
TGVmdCkKLSAgICAgICAgICAgIG5ld1JhbmdlID0gUmFuZ2U6OmNyZWF0ZShuZXdSYW5nZS0+c3Rh
cnRDb250YWluZXIoKS0+ZG9jdW1lbnQoKSwgbmV3UmFuZ2UtPnN0YXJ0UG9zaXRpb24oKSwgY3Vy
cmVudFJhbmdlLT5lbmRQb3NpdGlvbigpKTsKKyAgICAgICAgICAgIG5ld1JhbmdlID0gUmFuZ2U6
OmNyZWF0ZShuZXdSYW5nZS0+c3RhcnRDb250YWluZXIoKS0+ZG9jdW1lbnQoKSwgbmV3UmFuZ2Ut
PmVuZFBvc2l0aW9uKCksIGN1cnJlbnRSYW5nZS0+ZW5kUG9zaXRpb24oKSk7CiAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgIG5ld1JhbmdlID0gUmFuZ2U6OmNyZWF0ZShuZXdSYW5nZS0+c3RhcnRD
b250YWluZXIoKS0+ZG9jdW1lbnQoKSwgY3VycmVudFJhbmdlLT5zdGFydFBvc2l0aW9uKCksIG5l
d1JhbmdlLT5lbmRQb3NpdGlvbigpKTsKKyAgICAgICAgICAgIG5ld1JhbmdlID0gUmFuZ2U6OmNy
ZWF0ZShuZXdSYW5nZS0+c3RhcnRDb250YWluZXIoKS0+ZG9jdW1lbnQoKSwgY3VycmVudFJhbmdl
LT5zdGFydFBvc2l0aW9uKCksIG5ld1JhbmdlLT5zdGFydFBvc2l0aW9uKCkpOwogCiAgICAgICAg
IEludFJlY3QgY29weVJlY3QgPSBuZXdSYW5nZS0+Ym91bmRpbmdCb3goKTsKKyAgICAgICAgaWYg
KGNvcHlSZWN0LmlzRW1wdHkoKSkgeworICAgICAgICAgICAgYmVzdFJhbmdlID0gcmFuZ2VGb3JC
bG9ja0F0UG9pbnQodGVzdFBvaW50KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAg
ICAgICAgIGJvb2wgaXNCZXR0ZXJDaG9pY2U7CiAgICAgICAgIHN3aXRjaCAoaGFuZGxlUG9zaXRp
b24pIHsKICAgICAgICAgY2FzZSBTZWxlY3Rpb25IYW5kbGVQb3NpdGlvbjo6VG9wOgpAQCAtMTI2
NiwyMyArMTI5MiwyMiBAQCBQYXNzUmVmUHRyPFJhbmdlPiBXZWJQYWdlOjpjb250cmFjdGVkUmFu
CiAgICAgICAgICAgICBiZXN0UmVjdCA9IGNvcHlSZWN0OwogICAgICAgICB9CiAKLSAgICAgICAg
ZGlzdGFuY2UgKj0gbXVsdGlwbGU7CiAgICAgfQogCisgICAgaWYgKCFiZXN0UmFuZ2UpCisgICAg
ICAgIGJlc3RSYW5nZSA9IGN1cnJlbnRSYW5nZTsKKyAgICAKICAgICAvLyBJZiB3ZSBjYW4gc2hy
aW5rIGRvd24gdG8gdGV4dCBvbmx5LCB0aGUgb25seSByZWFzb24gd2Ugd291bGRuJ3QgaXMgdGhh
dAogICAgIC8vIHRoZXJlIGFyZSBtdWx0aXBsZSBzdWItZWxlbWVudCBibG9ja3MgYmVuZWF0aCB1
cy4gIElmIHdlIGRpZG4ndCBmaW5kCiAgICAgLy8gbXVsdGlwbGUgc3ViLWVsZW1lbnQgYmxvY2tz
LCBkb24ndCBzaHJpbmsgdG8gYSBzdWItZWxlbWVudCBibG9jay4KLSAgICBpZiAoIWJlc3RSYW5n
ZSkgewotICAgICAgICBiZXN0UmFuZ2UgPSBjdXJyZW50UmFuZ2U7Ci0gICAgICAgIE5vZGUqIG5v
ZGUgPSBjdXJyZW50UmFuZ2UtPmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKEFTU0VSVF9OT19FWENF
UFRJT04pOwotICAgICAgICBpZiAoIW5vZGUtPmlzRWxlbWVudE5vZGUoKSkKLSAgICAgICAgICAg
IG5vZGUgPSBub2RlLT5wYXJlbnRFbGVtZW50KCk7Ci0KLSAgICAgICAgUmVuZGVyT2JqZWN0KiBy
ZW5kZXJlciA9IG5vZGUtPnJlbmRlcmVyKCk7Ci0gICAgICAgIGlmIChyZW5kZXJlciAmJiByZW5k
ZXJlci0+Y2hpbGRyZW5JbmxpbmUoKSAmJiAocmVuZGVyZXItPmlzUmVuZGVyQmxvY2soKSAmJiAh
dG9SZW5kZXJCbG9jayhyZW5kZXJlciktPmlubGluZUVsZW1lbnRDb250aW51YXRpb24oKSkgJiYg
IXJlbmRlcmVyLT5pc1RhYmxlKCkpIHsKLSAgICAgICAgICAgIGZsYWdzID0gTm9uZTsKLSAgICAg
ICAgfQotICAgIH0KKworICAgIE5vZGUqIG5vZGUgPSBiZXN0UmFuZ2UtPmNvbW1vbkFuY2VzdG9y
Q29udGFpbmVyKEFTU0VSVF9OT19FWENFUFRJT04pOworICAgIGlmICghbm9kZS0+aXNFbGVtZW50
Tm9kZSgpKQorICAgICAgICBub2RlID0gbm9kZS0+cGFyZW50RWxlbWVudCgpOworCisgICAgUmVu
ZGVyT2JqZWN0KiByZW5kZXJlciA9IG5vZGUtPnJlbmRlcmVyKCk7CisgICAgaWYgKHJlbmRlcmVy
ICYmIHJlbmRlcmVyLT5jaGlsZHJlbklubGluZSgpICYmIChyZW5kZXJlci0+aXNSZW5kZXJCbG9j
aygpICYmICF0b1JlbmRlckJsb2NrKHJlbmRlcmVyKS0+aW5saW5lRWxlbWVudENvbnRpbnVhdGlv
bigpKSAmJiAhcmVuZGVyZXItPmlzVGFibGUoKSkKKyAgICAgICAgZmxhZ3MgPSBOb25lOwogCiAg
ICAgcmV0dXJuIGJlc3RSYW5nZTsKIH0KQEAgLTE0MzAsMzAgKzE0NTUsMzAgQEAgdm9pZCBXZWJQ
YWdlOjp1cGRhdGVTZWxlY3Rpb25XaXRoVG91Y2hlcwogICAgIFZpc2libGVQb3NpdGlvbiByZXN1
bHQ7CiAgICAgCiAgICAgc3dpdGNoIChzdGF0aWNfY2FzdDxTZWxlY3Rpb25Ub3VjaD4odG91Y2hl
cykpIHsKLSAgICAgICAgY2FzZSBTZWxlY3Rpb25Ub3VjaDo6U3RhcnRlZDoKLSAgICAgICAgY2Fz
ZSBTZWxlY3Rpb25Ub3VjaDo6RW5kZWROb3RNb3Zpbmc6Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgCi0gICAgICAgIGNhc2UgU2VsZWN0aW9uVG91Y2g6OkVuZGVkOgotICAgICAgICAgICAg
aWYgKGZyYW1lLnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmlzQ29udGVudEVkaXRhYmxlKCkpIHsK
LSAgICAgICAgICAgICAgICByZXN1bHQgPSBjbG9zZXN0V29yZEJvdW5kYXJ5Rm9yUG9zaXRpb24o
cG9zaXRpb24pOwotICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuaXNOb3ROdWxsKCkpCi0gICAg
ICAgICAgICAgICAgICAgIHJhbmdlID0gUmFuZ2U6OmNyZWF0ZSgqZnJhbWUuZG9jdW1lbnQoKSwg
cmVzdWx0LCByZXN1bHQpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgcmFu
Z2UgPSByYW5nZUZvclBvc2l0aW9uKCZmcmFtZSwgcG9zaXRpb24sIGJhc2VJc1N0YXJ0KTsKLSAg
ICAgICAgICAgIGJyZWFrOworICAgIGNhc2UgU2VsZWN0aW9uVG91Y2g6OlN0YXJ0ZWQ6CisgICAg
Y2FzZSBTZWxlY3Rpb25Ub3VjaDo6RW5kZWROb3RNb3Zpbmc6CisgICAgICAgIGJyZWFrOworICAg
IAorICAgIGNhc2UgU2VsZWN0aW9uVG91Y2g6OkVuZGVkOgorICAgICAgICBpZiAoZnJhbWUuc2Vs
ZWN0aW9uKCkuc2VsZWN0aW9uKCkuaXNDb250ZW50RWRpdGFibGUoKSkgeworICAgICAgICAgICAg
cmVzdWx0ID0gY2xvc2VzdFdvcmRCb3VuZGFyeUZvclBvc2l0aW9uKHBvc2l0aW9uKTsKKyAgICAg
ICAgICAgIGlmIChyZXN1bHQuaXNOb3ROdWxsKCkpCisgICAgICAgICAgICAgICAgcmFuZ2UgPSBS
YW5nZTo6Y3JlYXRlKCpmcmFtZS5kb2N1bWVudCgpLCByZXN1bHQsIHJlc3VsdCk7CisgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgcmFuZ2UgPSByYW5nZUZvclBvc2l0aW9uKCZmcmFtZSwgcG9z
aXRpb24sIGJhc2VJc1N0YXJ0KTsKKyAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSBTZWxl
Y3Rpb25Ub3VjaDo6RW5kZWRNb3ZpbmdGb3J3YXJkOgotICAgICAgICAgICAgcmFuZ2UgPSByYW5n
ZUF0V29yZEJvdW5kYXJ5Rm9yUG9zaXRpb24oJmZyYW1lLCBwb3NpdGlvbiwgYmFzZUlzU3RhcnQs
IERpcmVjdGlvbkZvcndhcmQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAKLSAg
ICAgICAgY2FzZSBTZWxlY3Rpb25Ub3VjaDo6RW5kZWRNb3ZpbmdCYWNrd2FyZDoKLSAgICAgICAg
ICAgIHJhbmdlID0gcmFuZ2VBdFdvcmRCb3VuZGFyeUZvclBvc2l0aW9uKCZmcmFtZSwgcG9zaXRp
b24sIGJhc2VJc1N0YXJ0LCBEaXJlY3Rpb25CYWNrd2FyZCk7Ci0gICAgICAgICAgICBicmVhazsK
KyAgICBjYXNlIFNlbGVjdGlvblRvdWNoOjpFbmRlZE1vdmluZ0ZvcndhcmQ6CisgICAgICAgIHJh
bmdlID0gcmFuZ2VBdFdvcmRCb3VuZGFyeUZvclBvc2l0aW9uKCZmcmFtZSwgcG9zaXRpb24sIGJh
c2VJc1N0YXJ0LCBEaXJlY3Rpb25Gb3J3YXJkKTsKKyAgICAgICAgYnJlYWs7CisgICAgICAgIAor
ICAgIGNhc2UgU2VsZWN0aW9uVG91Y2g6OkVuZGVkTW92aW5nQmFja3dhcmQ6CisgICAgICAgIHJh
bmdlID0gcmFuZ2VBdFdvcmRCb3VuZGFyeUZvclBvc2l0aW9uKCZmcmFtZSwgcG9zaXRpb24sIGJh
c2VJc1N0YXJ0LCBEaXJlY3Rpb25CYWNrd2FyZCk7CisgICAgICAgIGJyZWFrOwogCi0gICAgICAg
IGNhc2UgU2VsZWN0aW9uVG91Y2g6Ok1vdmVkOgotICAgICAgICAgICAgcmFuZ2UgPSByYW5nZUZv
clBvc2l0aW9uKCZmcmFtZSwgcG9zaXRpb24sIGJhc2VJc1N0YXJ0KTsKLSAgICAgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgU2VsZWN0aW9uVG91Y2g6Ok1vdmVkOgorICAgICAgICByYW5nZSA9IHJh
bmdlRm9yUG9zaXRpb24oJmZyYW1lLCBwb3NpdGlvbiwgYmFzZUlzU3RhcnQpOworICAgICAgICBi
cmVhazsKICAgICB9CiAgICAgaWYgKHJhbmdlKQogICAgICAgICBmcmFtZS5zZWxlY3Rpb24oKS5z
ZXRTZWxlY3RlZFJhbmdlKHJhbmdlLmdldCgpLCBwb3NpdGlvbi5hZmZpbml0eSgpLCB0cnVlKTsK
</data>
<flag name="review"
          id="258654"
          type_id="1"
          status="+"
          setter="benjamin"
    />
    <flag name="commit-queue"
          id="258659"
          type_id="3"
          status="-"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>