<?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>138333</bug_id>
          
          <creation_ts>2014-11-03 16:12:52 -0800</creation_ts>
          <short_desc>Implement action menus for editable text with spelling suggestions</short_desc>
          <delta_ts>2014-11-03 17:06:35 -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>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="Beth Dakin">bdakin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1045886</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-11-03 16:12:52 -0800</bug_when>
    <thetext>Implement action menus for editable text with spelling suggestions

rdar://problem/18742371</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045891</commentid>
    <comment_count>1</comment_count>
      <attachid>240881</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-11-03 16:22:26 -0800</bug_when>
    <thetext>Created attachment 240881
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045892</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-03 16:24:10 -0800</bug_when>
    <thetext>Attachment 240881 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/mac/WKActionMenuController.mm:374:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045897</commentid>
    <comment_count>3</comment_count>
      <attachid>240881</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-11-03 16:39:47 -0800</bug_when>
    <thetext>Comment on attachment 240881
Patch

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

&gt; Source/WebKit2/UIProcess/mac/WKActionMenuController.mm:570
&gt; +                Vector&lt;String&gt; guesses;

Please push this down into _defaultMenuItemsForEditableTextWithSuggestions.

&gt; Source/WebKit2/UIProcess/mac/WKActionMenuController.mm:575
&gt; +                    for (unsigned i = 0; i &lt; guesses.size(); i++) {

Modern for loop here, please?

&gt; Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm:1185
&gt; +    HitTestResult result = m_page-&gt;mainFrame().eventHandler().hitTestResultAtPoint(m_page-&gt;mainFrame().view()-&gt;windowToContents(point), HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::AllowChildFrameContent | HitTestRequest::IgnoreClipping);

We already have a mainFrame local reference, why are we getting it from m_page repeatedly here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045905</commentid>
    <comment_count>4</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-11-03 17:06:35 -0800</bug_when>
    <thetext>Thank you! Fixed all. http://trac.webkit.org/changeset/175498</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240881</attachid>
            <date>2014-11-03 16:22:26 -0800</date>
            <delta_ts>2014-11-03 16:39:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>12295</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NTQ5NCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDE0LTExLTAzICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgYWN0aW9uIG1lbnVz
IGZvciBlZGl0YWJsZSB0ZXh0IHdpdGggc3BlbGxpbmcgc3VnZ2VzdGlvbnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODMzMworICAgICAgICAtYW5k
IGNvcnJlc3BvbmRpbmctCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzE4NzQyMzcxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3IHR5cGVzLgorICAg
ICAgICAqIFNoYXJlZC9BUEkvYy9XS0FjdGlvbk1lbnVJdGVtVHlwZXMuaDoKKyAgICAgICAgKiBT
aGFyZWQvQVBJL2MvV0tBY3Rpb25NZW51VHlwZXMuaDoKKworICAgICAgICBBY3Rpb25NZW51SGl0
VGVzdFJlc3VsdCBub3cgc3RvcmVzIHRoZSBTdHJpbmcgcmVzdWx0IG9mIHRoZSBsb29rdXAuCisg
ICAgICAgICogU2hhcmVkL21hYy9BY3Rpb25NZW51SGl0VGVzdFJlc3VsdC5oOgorICAgICAgICAq
IFNoYXJlZC9tYWMvQWN0aW9uTWVudUhpdFRlc3RSZXN1bHQubW06CisgICAgICAgIChXZWJLaXQ6
OkFjdGlvbk1lbnVIaXRUZXN0UmVzdWx0OjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0OjpBY3Rp
b25NZW51SGl0VGVzdFJlc3VsdDo6ZGVjb2RlKToKKworICAgICAgICBNYWtlIGdldEd1ZXNzZXNG
b3JXb3JkKCkgcHVibGljIHNvIHdlIGNhbiBjYWxsIGl0IGZyb20gV0tBY3Rpb25NZW51Q29udHJv
bGxlci4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL21hYy9XS0FjdGlvbk1lbnVDb250cm9sbGVyLm1tOgorCisgICAgICAgIFNlbGVjdCB0
aGUgdGV4dCBmb3IgYWxsIHR5cGVzIG9mIHRleHQgbWVudXMuCisgICAgICAgICgtW1dLQWN0aW9u
TWVudUNvbnRyb2xsZXIgaXNNZW51Rm9yVGV4dENvbnRlbnRdKToKKyAgICAgICAgKC1bV0tBY3Rp
b25NZW51Q29udHJvbGxlciB3aWxsT3Blbk1lbnU6d2l0aEV2ZW50Ol0pOgorCisgICAgICAgIFNw
ZWxsaW5nIHN1Z2dlc3Rpb25zIGFyZSBwcmVzZW50ZWQgaW4gYSBzdWItbWVudSBhbmQgd2lsbCBy
ZXBsYWNlIHRoZSBzZWxlY3Rpb24gCisgICAgICAgIHdoZW4gY2hvc2VuLgorICAgICAgICAoLVtX
S0FjdGlvbk1lbnVDb250cm9sbGVyIF9kZWZhdWx0TWVudUl0ZW1zRm9yRWRpdGFibGVUZXh0V2l0
aFN1Z2dlc3Rpb25zOl0pOgorICAgICAgICAoLVtXS0FjdGlvbk1lbnVDb250cm9sbGVyIF9jaGFu
Z2VTZWxlY3Rpb25Ub1N1Z2dlc3Rpb246XSk6CisgICAgICAgICgtW1dLQWN0aW9uTWVudUNvbnRy
b2xsZXIgX2NyZWF0ZUFjdGlvbk1lbnVJdGVtRm9yVGFnOl0pOgorICAgICAgICAoLVtXS0FjdGlv
bk1lbnVDb250cm9sbGVyIF9kZWZhdWx0TWVudUl0ZW1zOl0pOgorCisgICAgICAgIE5ldyBmdW5j
dGlvbiB0byBzdG9yZSB0aGUgbG9va3VwVGV4dCBhcyBhIFN0cmluZyBvbiB0aGUgQWN0aW9uTWVu
dUhpdFRlc3RSZXN1bHQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW06CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OnBlcmZvcm1BY3Rpb25NZW51SGl0VGVzdEF0TG9jYXRpb24pOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpsb29rdXBUZXh0QXRMb2NhdGlvbik6CisKIDIwMTQt
MTEtMDMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIHBhZ2Ugb3ZlcmxheXMgdGhhdCBzaG93IHJlZ2lvbnMgd2l0aCBtb3VzZVdoZWVsIGV2ZW50
IGhhbmRsZXJzLCBhbmQgdGhlIG5vbi1mYXN0LXNjcm9sbGFibGUgcmVnaW9uLCBhbmQgY29kZSB0
byB0b2dnbGUgdGhlbSBpbiBNaW5pQnJvd3NlciBXSzIKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvYy9XS0FjdGlvbk1lbnVJdGVtVHlwZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tBY3Rpb25NZW51SXRlbVR5cGVzLmgJKHJldmlzaW9uIDE3
NTQ3NSkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0FjdGlvbk1lbnVJdGVtVHlw
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNyArNDMsOCBAQCBlbnVtIHsKICAgICBrV0tDb250
ZXh0QWN0aW9uSXRlbVRhZ1NoYXJlSW1hZ2UsCiAgICAga1dLQ29udGV4dEFjdGlvbkl0ZW1UYWdD
b3B5VGV4dCwKICAgICBrV0tDb250ZXh0QWN0aW9uSXRlbVRhZ0xvb2t1cFRleHQsCi0gICAga1dL
Q29udGV4dEFjdGlvbkl0ZW1UYWdQYXN0ZQorICAgIGtXS0NvbnRleHRBY3Rpb25JdGVtVGFnUGFz
dGUsCisgICAga1dLQ29udGV4dEFjdGlvbkl0ZW1UYWdUZXh0U3VnZ2VzdGlvbnMKIH07CiAKICNp
ZmRlZiBfX2NwbHVzcGx1cwpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQWN0
aW9uTWVudVR5cGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9j
L1dLQWN0aW9uTWVudVR5cGVzLmgJKHJldmlzaW9uIDE3NTQ3NSkKKysrIFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BUEkvYy9XS0FjdGlvbk1lbnVUeXBlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3
ICszOCw4IEBAIGVudW0gewogICAgIGtXS0FjdGlvbk1lbnVJbWFnZSwKICAgICBrV0tBY3Rpb25N
ZW51RGF0YURldGVjdGVkSXRlbSwKICAgICBrV0tBY3Rpb25NZW51UmVhZE9ubHlUZXh0LAotICAg
IGtXS0FjdGlvbk1lbnVFZGl0YWJsZVRleHQKKyAgICBrV0tBY3Rpb25NZW51RWRpdGFibGVUZXh0
LAorICAgIGtXS0FjdGlvbk1lbnVFZGl0YWJsZVRleHRXaXRoU3VnZ2VzdGlvbnMKIH07CiB0eXBl
ZGVmIHVpbnQzMl90IF9XS0FjdGlvbk1lbnVUeXBlOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbWFjL0FjdGlvbk1lbnVIaXRUZXN0UmVzdWx0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9BY3Rpb25NZW51SGl0VGVzdFJlc3VsdC5oCShyZXZpc2lvbiAx
NzU0NzUpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0FjdGlvbk1lbnVIaXRUZXN0UmVz
dWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJTaGFyZWFi
bGVCaXRtYXAuaCIKICNpbmNsdWRlICJXZWJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9GbG9hdFJlY3QuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogT0JK
Q19DTEFTUyBEREFjdGlvbkNvbnRleHQ7CiAKQEAgLTQ2LDYgKzQ3LDcgQEAgc3RydWN0IEFjdGlv
bk1lbnVIaXRUZXN0UmVzdWx0IHsKICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IGhpdFRlc3RMb2Nh
dGlvbkluVmlld0Nvb29yZGluYXRlczsKICAgICBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhIGhpdFRl
c3RSZXN1bHQ7CiAKKyAgICBTdHJpbmcgbG9va3VwVGV4dDsKICAgICBSZWZQdHI8U2hhcmVhYmxl
Qml0bWFwPiBpbWFnZTsKIAogICAgIFJldGFpblB0cjxEREFjdGlvbkNvbnRleHQ+IGFjdGlvbkNv
bnRleHQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0FjdGlvbk1lbnVIaXRUZXN0
UmVzdWx0Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQWN0aW9u
TWVudUhpdFRlc3RSZXN1bHQubW0JKHJldmlzaW9uIDE3NTQ3NSkKKysrIFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvQWN0aW9uTWVudUhpdFRlc3RSZXN1bHQubW0JKHdvcmtpbmcgY29weSkKQEAg
LTM4LDYgKzM4LDcgQEAgdm9pZCBBY3Rpb25NZW51SGl0VGVzdFJlc3VsdDo6ZW5jb2RlKElQQwog
ewogICAgIGVuY29kZXIgPDwgaGl0VGVzdExvY2F0aW9uSW5WaWV3Q29vb3JkaW5hdGVzOwogICAg
IGVuY29kZXIgPDwgaGl0VGVzdFJlc3VsdDsKKyAgICBlbmNvZGVyIDw8IGxvb2t1cFRleHQ7CiAK
ICAgICBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBoYW5kbGU7CiAKQEAgLTcwLDYgKzcxLDkgQEAg
Ym9vbCBBY3Rpb25NZW51SGl0VGVzdFJlc3VsdDo6ZGVjb2RlKElQQwogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUoYWN0aW9uTWVudUhpdFRlc3RSZXN1bHQuaGl0VGVzdFJlc3VsdCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAorICAgIGlmICghZGVjb2Rlci5kZWNvZGUoYWN0aW9uTWVudUhpdFRl
c3RSZXN1bHQubG9va3VwVGV4dCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIFNoYXJl
YWJsZUJpdG1hcDo6SGFuZGxlIGhhbmRsZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhbmRs
ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDE3NTQ3NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtOTM1LDYgKzkzNSw4IEBAIHB1
YmxpYzoKICAgICBib29sIGFjY2Vzc2liaWxpdHlPYmplY3RSZWFkTmV4dCgpOwogI2VuZGlmCiAK
KyAgICB2b2lkIGdldEd1ZXNzZXNGb3JXb3JkKGNvbnN0IFN0cmluZyYgd29yZCwgY29uc3QgU3Ry
aW5nJiBjb250ZXh0LCBWZWN0b3I8U3RyaW5nPiYgZ3Vlc3Nlcyk7CisKIHByaXZhdGU6CiAgICAg
V2ViUGFnZVByb3h5KFBhZ2VDbGllbnQmLCBXZWJQcm9jZXNzUHJveHkmLCB1aW50NjRfdCBwYWdl
SUQsIGNvbnN0IFdlYlBhZ2VDb25maWd1cmF0aW9uJik7CiAgICAgdm9pZCBwbGF0Zm9ybUluaXRp
YWxpemUoKTsKQEAgLTExNzQsNyArMTE3Niw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzcGVsbGlu
Z1VJSXNTaG93aW5nKGJvb2wmKTsKICAgICB2b2lkIHVwZGF0ZVNwZWxsaW5nVUlXaXRoTWlzc3Bl
bGxlZFdvcmQoY29uc3QgU3RyaW5nJiBtaXNzcGVsbGVkV29yZCk7CiAgICAgdm9pZCB1cGRhdGVT
cGVsbGluZ1VJV2l0aEdyYW1tYXJTdHJpbmcoY29uc3QgU3RyaW5nJiBiYWRHcmFtbWFyUGhyYXNl
LCBjb25zdCBXZWJDb3JlOjpHcmFtbWFyRGV0YWlsJik7Ci0gICAgdm9pZCBnZXRHdWVzc2VzRm9y
V29yZChjb25zdCBTdHJpbmcmIHdvcmQsIGNvbnN0IFN0cmluZyYgY29udGV4dCwgVmVjdG9yPFN0
cmluZz4mIGd1ZXNzZXMpOwogICAgIHZvaWQgbGVhcm5Xb3JkKGNvbnN0IFN0cmluZyYgd29yZCk7
CiAgICAgdm9pZCBpZ25vcmVXb3JkKGNvbnN0IFN0cmluZyYgd29yZCk7CiAgICAgdm9pZCByZXF1
ZXN0Q2hlY2tpbmdPZlN0cmluZyh1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFdlYkNvcmU6OlRl
eHRDaGVja2luZ1JlcXVlc3REYXRhJik7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1dLQWN0aW9uTWVudUNvbnRyb2xsZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9XS0FjdGlvbk1lbnVDb250cm9sbGVyLm1tCShyZXZpc2lvbiAxNzU0
NzUpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLQWN0aW9uTWVudUNvbnRyb2xs
ZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTExMCwxMiArMTEwLDE3IEBAIC0gKHZvaWQpcHJlcGFy
ZUZvck1lbnU6KE5TTWVudSAqKW1lbnUgd2kKICAgICBbc2VsZiBfdXBkYXRlQWN0aW9uTWVudUl0
ZW1zRm9yU3RhZ2U6TWVudVVwZGF0ZVN0YWdlOjpQcmVwYXJlRm9yTWVudV07CiB9CiAKKy0gKEJP
T0wpaXNNZW51Rm9yVGV4dENvbnRlbnQKK3sKKyAgICByZXR1cm4gX3R5cGUgPT0ga1dLQWN0aW9u
TWVudVJlYWRPbmx5VGV4dCB8fCBfdHlwZSA9PSBrV0tBY3Rpb25NZW51RWRpdGFibGVUZXh0IHx8
IF90eXBlID09IGtXS0FjdGlvbk1lbnVFZGl0YWJsZVRleHRXaXRoU3VnZ2VzdGlvbnM7Cit9CisK
IC0gKHZvaWQpd2lsbE9wZW5NZW51OihOU01lbnUgKiltZW51IHdpdGhFdmVudDooTlNFdmVudCAq
KWV2ZW50CiB7CiAgICAgaWYgKG1lbnUgIT0gX3drVmlldy5hY3Rpb25NZW51KQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBpZiAoX3R5cGUgIT0ga1dLQWN0aW9uTWVudVJlYWRPbmx5VGV4dCAmJiBf
dHlwZSAhPSBrV0tBY3Rpb25NZW51RWRpdGFibGVUZXh0KQorICAgIGlmICghW3NlbGYgaXNNZW51
Rm9yVGV4dENvbnRlbnRdKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBBY3Rpb24gbWVudXMg
Zm9yIHRleHQgc2hvdWxkIGhpZ2hsaWdodCB0aGUgdGV4dCBzbyB0aGF0IGl0IGlzIGNsZWFyIHdo
YXQgdGhlIGFjdGlvbiBtZW51IGFjdGlvbnMKQEAgLTM0Miw2ICszNDcsMTggQEAgLSAoTlNBcnJh
eSAqKV9kZWZhdWx0TWVudUl0ZW1zRm9yRWRpdGFibAogICAgIHJldHVybiBAWyBjb3B5VGV4dEl0
ZW0uZ2V0KCksIGxvb2t1cFRleHRJdGVtLmdldCgpLCBwYXN0ZUl0ZW0uZ2V0KCkgXTsKIH0KIAor
LSAoTlNBcnJheSAqKV9kZWZhdWx0TWVudUl0ZW1zRm9yRWRpdGFibGVUZXh0V2l0aFN1Z2dlc3Rp
b25zOihSZXRhaW5QdHI8TlNNZW51PilzcGVsbGluZ1N1Yk1lbnUKK3sKKyAgICBSZXRhaW5QdHI8
TlNNZW51SXRlbT4gY29weVRleHRJdGVtID0gW3NlbGYgX2NyZWF0ZUFjdGlvbk1lbnVJdGVtRm9y
VGFnOmtXS0NvbnRleHRBY3Rpb25JdGVtVGFnQ29weVRleHRdOworICAgIFJldGFpblB0cjxOU01l
bnVJdGVtPiBsb29rdXBUZXh0SXRlbSA9IFtzZWxmIF9jcmVhdGVBY3Rpb25NZW51SXRlbUZvclRh
ZzprV0tDb250ZXh0QWN0aW9uSXRlbVRhZ0xvb2t1cFRleHRdOworICAgIFJldGFpblB0cjxOU01l
bnVJdGVtPiBwYXN0ZUl0ZW0gPSBbc2VsZiBfY3JlYXRlQWN0aW9uTWVudUl0ZW1Gb3JUYWc6a1dL
Q29udGV4dEFjdGlvbkl0ZW1UYWdQYXN0ZV07CisgICAgUmV0YWluUHRyPE5TTWVudUl0ZW0+IHRl
eHRTdWdnZXN0aW9uc0l0ZW0gPSBbc2VsZiBfY3JlYXRlQWN0aW9uTWVudUl0ZW1Gb3JUYWc6a1dL
Q29udGV4dEFjdGlvbkl0ZW1UYWdUZXh0U3VnZ2VzdGlvbnNdOworCisgICAgW3RleHRTdWdnZXN0
aW9uc0l0ZW0gc2V0U3VibWVudTpzcGVsbGluZ1N1Yk1lbnUuZ2V0KCldOworCisgICAgcmV0dXJu
IEBbIGNvcHlUZXh0SXRlbS5nZXQoKSwgbG9va3VwVGV4dEl0ZW0uZ2V0KCksIHBhc3RlSXRlbS5n
ZXQoKSwgdGV4dFN1Z2dlc3Rpb25zSXRlbS5nZXQoKSBdOworfQorCiAtKHZvaWQpX2NvcHlTZWxl
Y3Rpb246KGlkKXNlbmRlcgogewogICAgIF9wYWdlLT5leGVjdXRlRWRpdENvbW1hbmQoImNvcHki
KTsKQEAgLTM1Nyw2ICszNzQsMTcgQEAgLSh2b2lkKV9sb29rdXBUZXh0OihpZClzZW5kZXIKICAg
ICBfcGFnZS0+cGVyZm9ybURpY3Rpb25hcnlMb29rdXBPZkN1cnJlbnRTZWxlY3Rpb24oKTsKIH0K
IAorLSh2b2lkKV9jaGFuZ2VTZWxlY3Rpb25Ub1N1Z2dlc3Rpb246KGlkKXNlbmRlcgoreworICAg
IE5TU3RyaW5nICpzZWxlY3RlZENvcnJlY3Rpb24gPSBbc2VuZGVyIHJlcHJlc2VudGVkT2JqZWN0
XTsKKyAgICBpZiAoIXNlbGVjdGVkQ29ycmVjdGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAg
QVNTRVJUKFtzZWxlY3RlZENvcnJlY3Rpb24gaXNLaW5kT2ZDbGFzczpbTlNTdHJpbmcgY2xhc3Nd
XSk7CisKKyAgICBfcGFnZS0+Y2hhbmdlU3BlbGxpbmdUb1dvcmQoc2VsZWN0ZWRDb3JyZWN0aW9u
KTsKK30KKwogI3ByYWdtYSBtYXJrIE5TTWVudURlbGVnYXRlIGltcGxlbWVudGF0aW9uCiAKIC0g
KHZvaWQpbWVudU5lZWRzVXBkYXRlOihOU01lbnUgKiltZW51CkBAIC00NzIsNiArNTAwLDExIEBA
IC0gKFJldGFpblB0cjxOU01lbnVJdGVtPilfY3JlYXRlQWN0aW9uTWUKICAgICAgICAgaW1hZ2Ug
PSBbTlNJbWFnZSBpbWFnZU5hbWVkOkAiTlNBY3Rpb25NZW51UGFzdGUiXTsKICAgICAgICAgYnJl
YWs7CiAKKyAgICBjYXNlIGtXS0NvbnRleHRBY3Rpb25JdGVtVGFnVGV4dFN1Z2dlc3Rpb25zOgor
ICAgICAgICB0aXRsZSA9IEAiU3VnZ2VzdGlvbnMiOworICAgICAgICBpbWFnZSA9IFtOU0ltYWdl
IGltYWdlTmFtZWQ6QCJOU0FjdGlvbk1lbnVTcGVsbGluZyJdOworICAgICAgICBicmVhazsKKwog
ICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1
cm4gbmlsOwpAQCAtNTMzLDYgKzU2NiwyMyBAQCAtIChOU0FycmF5ICopX2RlZmF1bHRNZW51SXRl
bXM6KE1lbnVVcGRhCiAgICAgICAgIH0KIAogICAgICAgICBpZiAoaGl0VGVzdFJlc3VsdC0+aXND
b250ZW50RWRpdGFibGUoKSkgeworICAgICAgICAgICAgaWYgKCFfaGl0VGVzdFJlc3VsdC5sb29r
dXBUZXh0LmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgIFZlY3RvcjxTdHJpbmc+IGd1ZXNz
ZXM7CisgICAgICAgICAgICAgICAgX3BhZ2UtPmdldEd1ZXNzZXNGb3JXb3JkKF9oaXRUZXN0UmVz
dWx0Lmxvb2t1cFRleHQsIFN0cmluZygpLCBndWVzc2VzKTsKKyAgICAgICAgICAgICAgICBpZiAo
IWd1ZXNzZXMuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgICAgIF90eXBlID0ga1dLQWN0
aW9uTWVudUVkaXRhYmxlVGV4dFdpdGhTdWdnZXN0aW9uczsKKyAgICAgICAgICAgICAgICAgICAg
UmV0YWluUHRyPE5TTWVudT4gc3BlbGxpbmdTdWJNZW51ID0gYWRvcHROUyhbW05TTWVudSBhbGxv
Y10gaW5pdF0pOworICAgICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
Z3Vlc3Nlcy5zaXplKCk7IGkrKykgeworICAgICAgICAgICAgICAgICAgICAgICAgTlNTdHJpbmcg
Kmd1ZXNzID0gZ3Vlc3Nlc1tpXTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJldGFpblB0cjxO
U01lbnVJdGVtPiBpdGVtID0gYWRvcHROUyhbW05TTWVudUl0ZW0gYWxsb2NdIGluaXRXaXRoVGl0
bGU6Z3Vlc3MgYWN0aW9uOkBzZWxlY3RvcihfY2hhbmdlU2VsZWN0aW9uVG9TdWdnZXN0aW9uOikg
a2V5RXF1aXZhbGVudDpAIiJdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtIHNldFJl
cHJlc2VudGVkT2JqZWN0Omd1ZXNzXTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtIHNl
dFRhcmdldDpzZWxmXTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFtzcGVsbGluZ1N1Yk1lbnUg
YWRkSXRlbTppdGVtLmdldCgpXTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gW3NlbGYgX2RlZmF1bHRNZW51SXRlbXNGb3JFZGl0YWJsZVRleHRXaXRo
U3VnZ2VzdGlvbnM6c3BlbGxpbmdTdWJNZW51XTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9CisKICAgICAgICAgICAgIF90eXBlID0ga1dLQWN0aW9uTWVudUVkaXRhYmxlVGV4dDsK
ICAgICAgICAgICAgIHJldHVybiBbc2VsZiBfZGVmYXVsdE1lbnVJdGVtc0ZvckVkaXRhYmxlVGV4
dF07CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaAkocmV2aXNpb24gMTc1NDc1KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTA0OSw2ICsxMDQ5LDcgQEAg
cHJpdmF0ZToKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIHBlcmZvcm1BY3Rpb25NZW51
SGl0VGVzdEF0TG9jYXRpb24oV2ViQ29yZTo6RmxvYXRQb2ludCk7CisgICAgUGFzc1JlZlB0cjxX
ZWJDb3JlOjpSYW5nZT4gbG9va3VwVGV4dEF0TG9jYXRpb24oV2ViQ29yZTo6RmxvYXRQb2ludCk7
CiAgICAgdm9pZCBzZWxlY3RMb29rdXBUZXh0QXRMb2NhdGlvbihXZWJDb3JlOjpGbG9hdFBvaW50
KTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1dlYlBhZ2VNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCShyZXZpc2lvbiAxNzU0NzUpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0JKHdvcmtpbmcgY29weSkK
QEAgLTExNTIsNiArMTE1Miw5IEBAIHZvaWQgV2ViUGFnZTo6cGVyZm9ybUFjdGlvbk1lbnVIaXRU
ZXN0QXQKICAgICBhY3Rpb25NZW51UmVzdWx0LmhpdFRlc3RMb2NhdGlvbkluVmlld0Nvb29yZGlu
YXRlcyA9IGxvY2F0aW9uSW5WaWV3Q29vb3JkaW5hdGVzOwogICAgIGFjdGlvbk1lbnVSZXN1bHQu
aGl0VGVzdFJlc3VsdCA9IFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGEoaGl0VGVzdFJlc3VsdCk7CiAK
KyAgICBSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+IGxvb2t1cFJhbmdlID0gbG9va3VwVGV4dEF0TG9j
YXRpb24obG9jYXRpb25JblZpZXdDb29vcmRpbmF0ZXMpOworICAgIGFjdGlvbk1lbnVSZXN1bHQu
bG9va3VwVGV4dCA9IGxvb2t1cFJhbmdlID8gbG9va3VwUmFuZ2UtPnRleHQoKSA6IFN0cmluZygp
OworCiAgICAgaWYgKEltYWdlKiBpbWFnZSA9IGhpdFRlc3RSZXN1bHQuaW1hZ2UoKSkgewogICAg
ICAgICBhY3Rpb25NZW51UmVzdWx0LmltYWdlID0gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGVTaGFy
ZWFibGUoSW50U2l6ZShpbWFnZS0+c2l6ZSgpKSwgU2hhcmVhYmxlQml0bWFwOjpTdXBwb3J0c0Fs
cGhhKTsKICAgICAgICAgaWYgKGFjdGlvbk1lbnVSZXN1bHQuaW1hZ2UpCkBAIC0xMTcyLDYgKzEx
NzUsMTggQEAgdm9pZCBXZWJQYWdlOjpwZXJmb3JtQWN0aW9uTWVudUhpdFRlc3RBdAogICAgIHNl
bmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkUGVyZm9ybUFjdGlvbk1lbnVIaXRUZXN0KGFj
dGlvbk1lbnVSZXN1bHQsIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyKHVzZXJEYXRh
LmdldCgpKSkpOwogfQogCitQYXNzUmVmUHRyPFdlYkNvcmU6OlJhbmdlPiBXZWJQYWdlOjpsb29r
dXBUZXh0QXRMb2NhdGlvbihGbG9hdFBvaW50IGxvY2F0aW9uSW5WaWV3Q29vb3JkaW5hdGVzKQor
eworICAgIE1haW5GcmFtZSYgbWFpbkZyYW1lID0gY29yZVBhZ2UoKS0+bWFpbkZyYW1lKCk7Cisg
ICAgaWYgKCFtYWluRnJhbWUudmlldygpIHx8ICFtYWluRnJhbWUudmlldygpLT5yZW5kZXJWaWV3
KCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgSW50UG9pbnQgcG9pbnQgPSByb3Vu
ZGVkSW50UG9pbnQobG9jYXRpb25JblZpZXdDb29vcmRpbmF0ZXMpOworICAgIEhpdFRlc3RSZXN1
bHQgcmVzdWx0ID0gbV9wYWdlLT5tYWluRnJhbWUoKS5ldmVudEhhbmRsZXIoKS5oaXRUZXN0UmVz
dWx0QXRQb2ludChtX3BhZ2UtPm1haW5GcmFtZSgpLnZpZXcoKS0+d2luZG93VG9Db250ZW50cyhw
b2ludCksIEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25seSB8IEhpdFRlc3RSZXF1ZXN0OjpBY3RpdmUg
fCBIaXRUZXN0UmVxdWVzdDo6QWxsb3dDaGlsZEZyYW1lQ29udGVudCB8IEhpdFRlc3RSZXF1ZXN0
OjpJZ25vcmVDbGlwcGluZyk7CisgICAgTlNEaWN0aW9uYXJ5ICpvcHRpb25zID0gbmlsOworICAg
IHJldHVybiByYW5nZUZvckRpY3Rpb25hcnlMb29rdXBBdEhpdFRlc3RSZXN1bHQocmVzdWx0LCAm
b3B0aW9ucyk7Cit9CisKIHZvaWQgV2ViUGFnZTo6c2VsZWN0TG9va3VwVGV4dEF0TG9jYXRpb24o
RmxvYXRQb2ludCBsb2NhdGlvbkluV2luZG93Q29vb3JkaW5hdGVzKQogewogICAgIE1haW5GcmFt
ZSYgbWFpbkZyYW1lID0gY29yZVBhZ2UoKS0+bWFpbkZyYW1lKCk7Cg==
</data>
<flag name="review"
          id="265677"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>