<?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>155278</bug_id>
          
          <creation_ts>2016-03-09 17:05:34 -0800</creation_ts>
          <short_desc>Retrieve additional context for some data detector link for preview and action menu</short_desc>
          <delta_ts>2016-03-09 18:05:58 -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>WebKit2</component>
          <version>WebKit 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="Enrica Casucci">enrica</reporter>
          <assigned_to name="Enrica Casucci">enrica</assigned_to>
          <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1172893</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2016-03-09 17:05:34 -0800</bug_when>
    <thetext>Some data detector results can be augmented retrieving the text surrounding the link.

rdar://problem/24884951</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172906</commentid>
    <comment_count>1</comment_count>
      <attachid>273516</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2016-03-09 17:23:42 -0800</bug_when>
    <thetext>Created attachment 273516
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172908</commentid>
    <comment_count>2</comment_count>
      <attachid>273516</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-03-09 17:29:10 -0800</bug_when>
    <thetext>Comment on attachment 273516
Patch

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

&gt; Source/WebKit2/UIProcess/ios/WKActionSheetAssistant.mm:446
&gt; +            NSMutableDictionary *extendedContext = nil;
&gt; +            extendedContext = [[[NSMutableDictionary alloc] init] autorelease];

Why autorelease instead of RetainPtr?

&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3837
&gt; +                        newContext = [[[NSMutableDictionary alloc] init] autorelease];

Ditto.

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:2208
&gt; +                            info.textBefore = plainTextReplacingNoBreakSpace(rangeExpandedByCharactersInDirectionAtWordBoundary(linkRange-&gt;startPosition(), 350, DirectionBackward).get(), TextIteratorDefaultBehavior, true);

Random 350 in the middle of the line could use constant-ing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172936</commentid>
    <comment_count>3</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2016-03-09 18:05:58 -0800</bug_when>
    <thetext>Committed revision 197916.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273516</attachid>
            <date>2016-03-09 17:23:42 -0800</date>
            <delta_ts>2016-03-09 17:29:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>ddextendedcontext.txt</filename>
            <type>text/plain</type>
            <size>12755</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NzkwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE2LTAzLTA5ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV0cmlldmUgYWRkaXRpb25h
bCBjb250ZXh0IGZvciBzb21lIGRhdGEgZGV0ZWN0b3IgbGluayBmb3IgcHJldmlldyBhbmQgYWN0
aW9uIG1lbnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTUyNzgKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMjQ4ODQ5NTEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpbmcgaGVscGVyIGZ1bmN0aW9u
IHRvIGNvbXB1dGUgYSByYW5nZSBieSBtb3ZpbmcgYnkgYSBudW1iZXIgb2YgY2hhcmFjdGVycwor
ICAgICAgICBmcm9tIGEgZ2l2ZW4gcG9zaXRpb24gYW5kIGRpcmVjdGlvbi4KKyAgICAgICAgQWRk
aW5nIGZ1bmN0aW9uIHRvIGNoZWNrIGlmIHRoZSBnaXZlbiBkYXRhIGRldGVjdG9yIGxpbmsgZWxl
bWVudCByZXF1aXJlcworICAgICAgICBhbiBleHRlbmRlZCBjb250ZXh0LgorCisgICAgICAgICog
ZWRpdGluZy9WaXNpYmxlVW5pdHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmFuZ2VFeHBhbmRl
ZEJ5Q2hhcmFjdGVyc0luRGlyZWN0aW9uQXRXb3JkQm91bmRhcnkpOgorICAgICAgICAqIGVkaXRp
bmcvVmlzaWJsZVVuaXRzLmg6CisgICAgICAgICogZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9u
Lmg6CisgICAgICAgICogZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tOgorICAgICAgICAo
V2ViQ29yZTo6RGF0YURldGVjdGlvbjo6cmVxdWlyZXNFeHRlbmRlZENvbnRleHQpOgorCiAyMDE2
LTAzLTA5ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVH
UkVTU0lPTiAocjE5NzE0OSk6IE1pc3NpbmcgYXZhaWxhYmlsaXR5IGNoZWNrcyB3aGVuIHNvZnQt
bGlua2luZyBEYXRhRGV0ZWN0b3JzLmZyYW1ld29yawpJbmRleDogU291cmNlL1dlYkNvcmUvZWRp
dGluZy9WaXNpYmxlVW5pdHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvVmlzaWJsZVVuaXRzLmNwcAkocmV2aXNpb24gMTk3OTAyKQorKysgU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9WaXNpYmxlVW5pdHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTgzLDYgKzE5ODMs
MjUgQEAgVmlzaWJsZVBvc2l0aW9uIGNsb3Nlc3RXb3JkQm91bmRhcnlGb3JQbwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKK1Bhc3NSZWZQdHI8UmFuZ2U+IHJhbmdlRXhwYW5kZWRCeUNoYXJhY3Rl
cnNJbkRpcmVjdGlvbkF0V29yZEJvdW5kYXJ5KGNvbnN0IFZpc2libGVQb3NpdGlvbiYgcG9zaXRp
b24sIGludCBudW1iZXJPZkNoYXJhY3RlcnNUb0V4cGFuZCwgU2VsZWN0aW9uRGlyZWN0aW9uIGRp
cmVjdGlvbikKK3sKKyAgICBQb3NpdGlvbiBzdGFydCA9IHBvc2l0aW9uLmRlZXBFcXVpdmFsZW50
KCk7CisgICAgUG9zaXRpb24gZW5kID0gcG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKTsKKyAgICBm
b3IgKGludCBpID0gMDsgaSA8IG51bWJlck9mQ2hhcmFjdGVyc1RvRXhwYW5kOyArK2kpIHsKKyAg
ICAgICAgaWYgKGRpcmVjdGlvbiA9PSBEaXJlY3Rpb25CYWNrd2FyZCkKKyAgICAgICAgICAgIHN0
YXJ0ID0gc3RhcnQucHJldmlvdXMoQ2hhcmFjdGVyKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgZW5kID0gZW5kLm5leHQoQ2hhcmFjdGVyKTsKKyAgICB9CisgICAgCisgICAgaWYgKGRpcmVj
dGlvbiA9PSBEaXJlY3Rpb25CYWNrd2FyZCAmJiAhYXRCb3VuZGFyeU9mR3JhbnVsYXJpdHkoc3Rh
cnQsIFdvcmRHcmFudWxhcml0eSwgRGlyZWN0aW9uQmFja3dhcmQpKQorICAgICAgICBzdGFydCA9
IHN0YXJ0T2ZXb3JkKHN0YXJ0KS5kZWVwRXF1aXZhbGVudCgpOworICAgIGlmIChkaXJlY3Rpb24g
PT0gRGlyZWN0aW9uRm9yd2FyZCAmJiAhYXRCb3VuZGFyeU9mR3JhbnVsYXJpdHkoZW5kLCBXb3Jk
R3JhbnVsYXJpdHksIERpcmVjdGlvbkZvcndhcmQpKQorICAgICAgICBlbmQgPSBlbmRPZldvcmQo
ZW5kKS5kZWVwRXF1aXZhbGVudCgpOworCisgICAgcmV0dXJuIG1ha2VSYW5nZShzdGFydCwgZW5k
KTsKK30gICAgCisKIFBhc3NSZWZQdHI8UmFuZ2U+IHJhbmdlRXhwYW5kZWRBcm91bmRQb3NpdGlv
bkJ5Q2hhcmFjdGVycyhjb25zdCBWaXNpYmxlUG9zaXRpb24mIHBvc2l0aW9uLCBpbnQgbnVtYmVy
T2ZDaGFyYWN0ZXJzVG9FeHBhbmQpCiB7CiAgICAgUG9zaXRpb24gc3RhcnQgPSBwb3NpdGlvbi5k
ZWVwRXF1aXZhbGVudCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlVW5p
dHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVVbml0cy5o
CShyZXZpc2lvbiAxOTc5MDIpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVVbml0
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNiArMTA4LDcgQEAgV0VCQ09SRV9FWFBPUlQgUGFz
c1JlZlB0cjxSYW5nZT4gd29yZFJhbgogV0VCQ09SRV9FWFBPUlQgVmlzaWJsZVBvc2l0aW9uIGNs
b3Nlc3RXb3JkQm91bmRhcnlGb3JQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHBvc2l0
aW9uKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgY2hhcmFjdGVyc0Fyb3VuZFBvc2l0aW9uKGNvbnN0
IFZpc2libGVQb3NpdGlvbiYsIFVDaGFyMzImIG9uZUFmdGVyLCBVQ2hhcjMyJiBvbmVCZWZvcmUs
IFVDaGFyMzImIHR3b0JlZm9yZSk7CiBXRUJDT1JFX0VYUE9SVCBQYXNzUmVmUHRyPFJhbmdlPiBy
YW5nZUV4cGFuZGVkQXJvdW5kUG9zaXRpb25CeUNoYXJhY3RlcnMoY29uc3QgVmlzaWJsZVBvc2l0
aW9uJiwgaW50IG51bWJlck9mQ2hhcmFjdGVyc1RvRXhwYW5kKTsKK1dFQkNPUkVfRVhQT1JUIFBh
c3NSZWZQdHI8UmFuZ2U+IHJhbmdlRXhwYW5kZWRCeUNoYXJhY3RlcnNJbkRpcmVjdGlvbkF0V29y
ZEJvdW5kYXJ5KGNvbnN0IFZpc2libGVQb3NpdGlvbiYsIGludCBudW1iZXJPZkNoYXJhY3RlcnNU
b0V4cGFuZCwgU2VsZWN0aW9uRGlyZWN0aW9uKTsKIAogLy8gaGVscGVyIGZ1bmN0aW9uCiBlbnVt
IEJvdW5kYXJ5U2VhcmNoQ29udGV4dEF2YWlsYWJpbGl0eSB7IERvbnRIYXZlTW9yZUNvbnRleHQs
IE1heUhhdmVNb3JlQ29udGV4dCB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2Nv
YS9EYXRhRGV0ZWN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9j
b2NvYS9EYXRhRGV0ZWN0aW9uLmgJKHJldmlzaW9uIDE5NzkwMikKKysrIFNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw2ICs2
MCw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBpc0RhdGFEZXRl
Y3RvckxpbmsoRWxlbWVudCopOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBTdHJpbmcgZGF0
YURldGVjdG9ySWRlbnRpZmllcihFbGVtZW50Kik7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGlj
IGJvb2wgc2hvdWxkQ2FuY2VsRGVmYXVsdEFjdGlvbihFbGVtZW50Kik7CisgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIGJvb2wgcmVxdWlyZXNFeHRlbmRlZENvbnRleHQoRWxlbWVudCopOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9j
b2NvYS9EYXRhRGV0ZWN0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvY29jb2EvRGF0YURldGVjdGlvbi5tbQkocmV2aXNpb24gMTk3OTAyKQorKysgU291cmNlL1dl
YkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01
Niw2ICs1NiwxMSBAQCBib29sIERhdGFEZXRlY3Rpb246OmlzRGF0YURldGVjdG9yTGluayhFCiAg
ICAgcmV0dXJuIGVsZW1lbnQtPmdldEF0dHJpYnV0ZShkYXRhRGV0ZWN0b3JzVVJMU2NoZW1lKSA9
PSAidHJ1ZSI7CiB9CiAKK2Jvb2wgRGF0YURldGVjdGlvbjo6cmVxdWlyZXNFeHRlbmRlZENvbnRl
eHQoRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICByZXR1cm4gZWxlbWVudC0+Z2V0QXR0cmlidXRl
KGRhdGFEZXRlY3RvcnNBdHRyaWJ1dGVUeXBlS2V5KSA9PSAiY2FsZW5kYXItZXZlbnQiOworfQor
CiBTdHJpbmcgRGF0YURldGVjdGlvbjo6ZGF0YURldGVjdG9ySWRlbnRpZmllcihFbGVtZW50KiBl
bGVtZW50KQogewogICAgIHJldHVybiBlbGVtZW50LT5nZXRBdHRyaWJ1dGUoZGF0YURldGVjdG9y
c0F0dHJpYnV0ZVJlc3VsdEtleSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxOTc5MDQpCisr
KyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNiBA
QAorMjAxNi0wMy0wOSAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgorCisgICAg
ICAgIFJldHJpZXZlIGFkZGl0aW9uYWwgY29udGV4dCBmb3Igc29tZSBkYXRhIGRldGVjdG9yIGxp
bmsgZm9yIHByZXZpZXcgYW5kIGFjdGlvbiBtZW51LgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1Mjc4CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzI0
ODg0OTUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RGF0YSBkZXRlY3RvciByZXN1bHRzIGZvciBpdGVtcyBsaWtlIGNhbGVuZGFyIGV2ZW50cywgY2Fu
IGJlIGF1Z21lbnRlZAorICAgICAgICByZXRyaWV2aW5nIHRoZSB0ZXh0IHN1cnJvdW5kaW5nIHRo
ZSBsaW5rLgorCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9EYXRhRGV0ZWN0b3JzVUlTUEku
aDoKKyAgICAgICAgKiBTaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9u
Lmg6CisgICAgICAgICogU2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlv
bi5tbToKKyAgICAgICAgKFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb246
OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0
aW9uOjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lz
dGFudC5tbToKKyAgICAgICAgKC1bV0tBY3Rpb25TaGVldEFzc2lzdGFudCBzaG93RGF0YURldGVj
dG9yc1NoZWV0XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2RhdGFGb3JQcmV2aWV3SXRlbUNv
bnRyb2xsZXI6YXRQb3NpdGlvbjp0eXBlOl0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Z2V0UG9zaXRp
b25JbmZvcm1hdGlvbik6CisKIDIwMTYtMDMtMDkgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFw
cGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTk3MTQ5KTogTWlzc2luZyBhdmFpbGFi
aWxpdHkgY2hlY2tzIHdoZW4gc29mdC1saW5raW5nIERhdGFEZXRlY3RvcnMuZnJhbWV3b3JrCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL0RhdGFEZXRlY3RvcnNVSVNQSS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvRGF0YURldGVj
dG9yc1VJU1BJLmgJKHJldmlzaW9uIDE5NzkwMikKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L3NwaS9pb3MvRGF0YURldGVjdG9yc1VJU1BJLmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDMgKzYz
LDUgQEAKIAogU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLKERhdGFEZXRlY3RvcnNVSSkKIFNP
RlRfTElOS19DTEFTUyhEYXRhRGV0ZWN0b3JzVUksIERERGV0ZWN0aW9uQ29udHJvbGxlcikKK1NP
RlRfTElOS19DT05TVEFOVChEYXRhRGV0ZWN0b3JzVUksIGtEYXRhRGV0ZWN0b3JzTGVhZGluZ1Rl
eHQsIGNvbnN0IE5TU3RyaW5nICopCitTT0ZUX0xJTktfQ09OU1RBTlQoRGF0YURldGVjdG9yc1VJ
LCBrRGF0YURldGVjdG9yc1RyYWlsaW5nVGV4dCwgY29uc3QgTlNTdHJpbmcgKikKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5m
b3JtYXRpb25BdFBvc2l0aW9uLmgJKHJldmlzaW9uIDE5NzkwMikKKysrIFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaAkod29ya2luZyBj
b3B5KQpAQCAtNTYsNiArNTYsOCBAQCBzdHJ1Y3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9z
aXRpb24gCiAgICAgU3RyaW5nIHRpdGxlOwogICAgIFdlYkNvcmU6OkludFJlY3QgYm91bmRzOwog
ICAgIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGltYWdlOworICAgIFN0cmluZyB0ZXh0QmVmb3Jl
OworICAgIFN0cmluZyB0ZXh0QWZ0ZXI7CiAKICAgICBXZWJDb3JlOjpUZXh0SW5kaWNhdG9yRGF0
YSBsaW5rSW5kaWNhdG9yOwogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24ubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9y
bWF0aW9uQXRQb3NpdGlvbi5tbQkocmV2aXNpb24gMTk3OTAyKQorKysgU291cmNlL1dlYktpdDIv
U2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5tbQkod29ya2luZyBj
b3B5KQpAQCAtNTUsNiArNTUsOCBAQCB2b2lkIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0
aW9uOjplCiAgICAgZW5jb2RlciA8PCBpbWFnZVVSTDsKICAgICBlbmNvZGVyIDw8IHRpdGxlOwog
ICAgIGVuY29kZXIgPDwgYm91bmRzOworICAgIGVuY29kZXIgPDwgdGV4dEJlZm9yZTsKKyAgICBl
bmNvZGVyIDw8IHRleHRBZnRlcjsKICAgICBlbmNvZGVyIDw8IGxpbmtJbmRpY2F0b3I7CiAKICAg
ICBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBoYW5kbGU7CkBAIC0xMjAsNiArMTIyLDEyIEBAIGJv
b2wgSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb246OmQKICAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHJlc3VsdC5ib3VuZHMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHJlc3VsdC50ZXh0QmVmb3JlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIAorICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnRleHRBZnRlcikpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5s
aW5rSW5kaWNhdG9yKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1t
CShyZXZpc2lvbiAxOTc5MDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0
aW9uU2hlZXRBc3Npc3RhbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ0MSw2ICs0NDEsMTUgQEAg
LSAodm9pZClzaG93RGF0YURldGVjdG9yc1NoZWV0CiAgICAgICAgICAgICBjb250ZXh0ID0gW2Rl
bGVnYXRlIGRhdGFEZXRlY3Rpb25Db250ZXh0Rm9yQWN0aW9uU2hlZXRBc3Npc3RhbnQ6c2VsZl07
CiAgICAgICAgIGlmIChbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZWxl
Y3RlZFRleHRGb3JBY3Rpb25TaGVldEFzc2lzdGFudDopXSkKICAgICAgICAgICAgIHRleHRBdFNl
bGVjdGlvbiA9IFtkZWxlZ2F0ZSBzZWxlY3RlZFRleHRGb3JBY3Rpb25TaGVldEFzc2lzdGFudDpz
ZWxmXTsKKyAgICAgICAgaWYgKCFwb3NpdGlvbkluZm9ybWF0aW9uLnRleHRCZWZvcmUuaXNFbXB0
eSgpIHx8ICFwb3NpdGlvbkluZm9ybWF0aW9uLnRleHRBZnRlci5pc0VtcHR5KCkpIHsKKyAgICAg
ICAgICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKmV4dGVuZGVkQ29udGV4dCA9IG5pbDsKKyAgICAg
ICAgICAgIGV4dGVuZGVkQ29udGV4dCA9IFtbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGlu
aXRdIGF1dG9yZWxlYXNlXTsKKyAgICAgICAgICAgIGlmIChjb250ZXh0KQorICAgICAgICAgICAg
ICAgIFtleHRlbmRlZENvbnRleHQgYWRkRW50cmllc0Zyb21EaWN0aW9uYXJ5OmNvbnRleHRdOwor
ICAgICAgICAgICAgZXh0ZW5kZWRDb250ZXh0W2dldGtEYXRhRGV0ZWN0b3JzTGVhZGluZ1RleHQo
KV0gPSBwb3NpdGlvbkluZm9ybWF0aW9uLnRleHRCZWZvcmU7CisgICAgICAgICAgICBleHRlbmRl
ZENvbnRleHRbZ2V0a0RhdGFEZXRlY3RvcnNUcmFpbGluZ1RleHQoKV0gPSBwb3NpdGlvbkluZm9y
bWF0aW9uLnRleHRBZnRlcjsKKyAgICAgICAgICAgIGNvbnRleHQgPSBleHRlbmRlZENvbnRleHQ7
CisgICAgICAgIH0KICAgICAgICAgZGF0YURldGVjdG9yc0FjdGlvbnMgPSBbY29udHJvbGxlciBh
Y3Rpb25zRm9yVVJMOnRhcmdldFVSTCBpZGVudGlmaWVyOnBvc2l0aW9uSW5mb3JtYXRpb24uZGF0
YURldGVjdG9ySWRlbnRpZmllciBzZWxlY3RlZFRleHQ6dGV4dEF0U2VsZWN0aW9uIHJlc3VsdHM6
cG9zaXRpb25JbmZvcm1hdGlvbi5kYXRhRGV0ZWN0b3JSZXN1bHRzLmdldCgpIGNvbnRleHQ6Y29u
dGV4dF07CiAgICAgfSBlbHNlCiAgICAgICAgIGRhdGFEZXRlY3RvcnNBY3Rpb25zID0gW2NvbnRy
b2xsZXIgYWN0aW9uc0ZvckFuY2hvcjpuaWwgdXJsOnRhcmdldFVSTCBmb3JGcmFtZTpuaWxdOwpJ
bmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW0JKHJldmlzaW9uIDE5NzkwMikKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0zODI4LDEwICszODI4LDE2IEBAIC0gKE5TRGljdGlvbmFyeSAqKV9kYXRhRm9yUHJldmll
d0l0ZW1Db24KIAogICAgICAgICAgICAgREREZXRlY3Rpb25Db250cm9sbGVyICpjb250cm9sbGVy
ID0gW2dldERERGV0ZWN0aW9uQ29udHJvbGxlckNsYXNzKCkgc2hhcmVkQ29udHJvbGxlcl07CiAg
ICAgICAgICAgICBpZiAoW2NvbnRyb2xsZXIgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihy
ZXN1bHRGb3JVUkw6aWRlbnRpZmllcjpzZWxlY3RlZFRleHQ6cmVzdWx0czpjb250ZXh0OmV4dGVu
ZGVkQ29udGV4dDopXSkgewotICAgICAgICAgICAgICAgIE5TRGljdGlvbmFyeSAqbmV3Q29udGV4
dCA9IG5pbDsKKyAgICAgICAgICAgICAgICBOU011dGFibGVEaWN0aW9uYXJ5ICpuZXdDb250ZXh0
ID0gbmlsOwogICAgICAgICAgICAgICAgIEREUmVzdWx0UmVmIGRkUmVzdWx0ID0gW2NvbnRyb2xs
ZXIgcmVzdWx0Rm9yVVJMOmRhdGFGb3JQcmV2aWV3W1VJUHJldmlld0RhdGFMaW5rXSBpZGVudGlm
aWVyOl9wb3NpdGlvbkluZm9ybWF0aW9uLmRhdGFEZXRlY3RvcklkZW50aWZpZXIgc2VsZWN0ZWRU
ZXh0OltzZWxmIHNlbGVjdGVkVGV4dF0gcmVzdWx0czpfcG9zaXRpb25JbmZvcm1hdGlvbi5kYXRh
RGV0ZWN0b3JSZXN1bHRzLmdldCgpIGNvbnRleHQ6Y29udGV4dCBleHRlbmRlZENvbnRleHQ6Jm5l
d0NvbnRleHRdOwogICAgICAgICAgICAgICAgIGlmIChkZFJlc3VsdCkKICAgICAgICAgICAgICAg
ICAgICAgZGF0YUZvclByZXZpZXdbVUlQcmV2aWV3RGF0YUREUmVzdWx0XSA9IChfX2JyaWRnZSBp
ZClkZFJlc3VsdDsKKyAgICAgICAgICAgICAgICBpZiAoIV9wb3NpdGlvbkluZm9ybWF0aW9uLnRl
eHRCZWZvcmUuaXNFbXB0eSgpIHx8ICFfcG9zaXRpb25JbmZvcm1hdGlvbi50ZXh0QWZ0ZXIuaXNF
bXB0eSgpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghbmV3Q29udGV4dCkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIG5ld0NvbnRleHQgPSBbW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9j
XSBpbml0XSBhdXRvcmVsZWFzZV07CisgICAgICAgICAgICAgICAgICAgIG5ld0NvbnRleHRbZ2V0
a0RhdGFEZXRlY3RvcnNMZWFkaW5nVGV4dCgpXSA9IF9wb3NpdGlvbkluZm9ybWF0aW9uLnRleHRC
ZWZvcmU7CisgICAgICAgICAgICAgICAgICAgIG5ld0NvbnRleHRbZ2V0a0RhdGFEZXRlY3RvcnNU
cmFpbGluZ1RleHQoKV0gPSBfcG9zaXRpb25JbmZvcm1hdGlvbi50ZXh0QWZ0ZXI7CisgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlmIChuZXdDb250ZXh0KQogICAgICAgICAgICAg
ICAgICAgICBkYXRhRm9yUHJldmlld1tVSVByZXZpZXdEYXRhRERDb250ZXh0XSA9IG5ld0NvbnRl
eHQ7CiAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCShyZXZpc2lvbiAxOTc5MDIpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTIyMDIsNiArMjIwMiwxMiBAQCB2b2lkIFdlYlBhZ2U6OmdldFBvc2l0aW9uSW5m
b3JtYXRpb24oY29uCiAgICAgICAgICAgICAgICAgICAgIGlmIChpbmZvLmlzRGF0YURldGVjdG9y
TGluaykgewogICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5kYXRhRGV0ZWN0b3JJZGVudGlm
aWVyID0gRGF0YURldGVjdGlvbjo6ZGF0YURldGVjdG9ySWRlbnRpZmllcihlbGVtZW50KTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGluZm8uZGF0YURldGVjdG9yUmVzdWx0cyA9IGVsZW1lbnQt
PmRvY3VtZW50KCkuZnJhbWUoKS0+ZGF0YURldGVjdGlvblJlc3VsdHMoKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIChEYXRhRGV0ZWN0aW9uOjpyZXF1aXJlc0V4dGVuZGVkQ29udGV4dChl
bGVtZW50KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlZlB0cjxSYW5nZT4gbGlu
a1JhbmdlID0gUmFuZ2U6OmNyZWF0ZShlbGVtZW50LT5kb2N1bWVudCgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsaW5rUmFuZ2UtPnNlbGVjdE5vZGVDb250ZW50cyhlbGVtZW50LCBB
U1NFUlRfTk9fRVhDRVBUSU9OKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLnRl
eHRCZWZvcmUgPSBwbGFpblRleHRSZXBsYWNpbmdOb0JyZWFrU3BhY2UocmFuZ2VFeHBhbmRlZEJ5
Q2hhcmFjdGVyc0luRGlyZWN0aW9uQXRXb3JkQm91bmRhcnkobGlua1JhbmdlLT5zdGFydFBvc2l0
aW9uKCksIDM1MCwgRGlyZWN0aW9uQmFja3dhcmQpLmdldCgpLCBUZXh0SXRlcmF0b3JEZWZhdWx0
QmVoYXZpb3IsIHRydWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8udGV4dEFm
dGVyID0gcGxhaW5UZXh0UmVwbGFjaW5nTm9CcmVha1NwYWNlKHJhbmdlRXhwYW5kZWRCeUNoYXJh
Y3RlcnNJbkRpcmVjdGlvbkF0V29yZEJvdW5kYXJ5KGxpbmtSYW5nZS0+ZW5kUG9zaXRpb24oKSwg
MzUwLCBEaXJlY3Rpb25Gb3J3YXJkKS5nZXQoKSwgVGV4dEl0ZXJhdG9yRGVmYXVsdEJlaGF2aW9y
LCB0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg
fQogI2VuZGlmCiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChlbGVtZW50LT5yZW5kZXJlcigp
ICYmIGVsZW1lbnQtPnJlbmRlcmVyKCktPmlzUmVuZGVySW1hZ2UoKSkgewo=
</data>
<flag name="review"
          id="298119"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>