<?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>153108</bug_id>
          
          <creation_ts>2016-01-14 15:17:23 -0800</creation_ts>
          <short_desc>WK1 and WK2 should share more candidate request code</short_desc>
          <delta_ts>2016-01-14 16:08:23 -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>WebKit Misc.</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="Beth Dakin">bdakin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>enrica</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1155607</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2016-01-14 15:17:23 -0800</bug_when>
    <thetext>WK1 and WK2 should share more candidate request code. After https://bugs.webkit.org/show_bug.cgi?id=153040 some things that both need were pushed into WebCore, and WK1 should use those.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155608</commentid>
    <comment_count>1</comment_count>
      <attachid>269014</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2016-01-14 15:22:28 -0800</bug_when>
    <thetext>Created attachment 269014
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155609</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-14 15:23:04 -0800</bug_when>
    <thetext>Attachment 269014 did not pass style-queue:


ERROR: Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm:1172:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 5 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>1155614</commentid>
    <comment_count>3</comment_count>
      <attachid>269014</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-01-14 15:31:51 -0800</bug_when>
    <thetext>Comment on attachment 269014
Patch

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

&gt; Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm:371
&gt; +#if PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200

Can we turn the __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200 into some kind of feature #ifdef?

&gt; Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm:1187
&gt; +    // FIXME: Right now we only request candidates for spelling, replacement, and correction, but we plan to
&gt; +    // support more types, and we will have to update this at that time.

I don&apos;t think this comment is useful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155623</commentid>
    <comment_count>4</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2016-01-14 16:08:23 -0800</bug_when>
    <thetext>Thanks Simon! http://trac.webkit.org/changeset/195081</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269014</attachid>
            <date>2016-01-14 15:22:28 -0800</date>
            <delta_ts>2016-01-14 15:31:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>12792</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NTA4MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE2LTAxLTE0ICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBXSzEgYW5kIFdLMiBzaG91bGQgc2hh
cmUgbW9yZSBjYW5kaWRhdGUgcmVxdWVzdCBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTMxMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICByZXF1ZXN0Q2FuZGlkYXRlc0ZvclNlbGVjdGlvbigpIGRv
ZXMgbm90IG5lZWQgdG8gYmUgZXhwb3NlZCBhcyBhbiAKKyAgICAgICAgRWRpdG9yQ2xpZW50IGZ1
bmN0aW9uLiBXSzEgY2FuIGp1c3QgY2FsbCBpbnZva2UgdGhpcyBjb2RlIGZyb20gdGhlIGV4aXN0
aW5nIAorICAgICAgICByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uIEVkaXRvckNsaWVudCBmdW5j
dGlvbiwgd2hpY2ggaXMgd2hhdCBXSzIgZG9lcy4KKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24p
OgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKiBwYWdlL0VkaXRv
ckNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50OjpzdXBwb3J0c0dsb2Jh
bFNlbGVjdGlvbik6CisKIDIwMTYtMDEtMTQgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFdLMjogUmVxdWVzdCBjb21wbGV0aW9uIGNhbmRpZGF0ZXMgd2hlbiBuZWVk
ZWQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHJldmlzaW9uIDE5NTA3OCkKKysr
IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI2
NCwxMSArMzI2NCw2IEBAIHZvaWQgRWRpdG9yOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKGMK
ICAgICBpZiAoY2xpZW50KCkpCiAgICAgICAgIGNsaWVudCgpLT5yZXNwb25kVG9DaGFuZ2VkU2Vs
ZWN0aW9uKCZtX2ZyYW1lKTsKIAotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDAKLSAgICBpZiAoY2xpZW50KCkgJiYgY2FuRWRpdCgp
KQotICAgICAgICBjbGllbnQoKS0+cmVxdWVzdENhbmRpZGF0ZXNGb3JTZWxlY3Rpb24obV9mcmFt
ZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKSk7Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShURUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJiYgIVBMQVRGT1JNKElPUykKICAgICBpZiAoc2hvdWxkRGV0
ZWN0VGVsZXBob25lTnVtYmVycygpKQogICAgICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlv
blVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1w
dHlDbGllbnRzLmgJKHJldmlzaW9uIDE5NTA2OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaAkod29ya2luZyBjb3B5KQpAQCAtNTM3LDEwICs1MzcsNiBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHdpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKCkgb3ZlcnJpZGUgeyB9
CiAgICAgdmlydHVhbCB2b2lkIHNldElucHV0TWV0aG9kU3RhdGUoYm9vbCkgb3ZlcnJpZGUgeyB9
CiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxMjAwCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RDYW5kaWRhdGVzRm9yU2VsZWN0aW9u
KGNvbnN0IFZpc2libGVTZWxlY3Rpb24mKSBvdmVycmlkZSB7IH0KLSNlbmRpZgotCiBwcml2YXRl
OgogICAgIEVtcHR5VGV4dENoZWNrZXJDbGllbnQgbV90ZXh0Q2hlY2tlckNsaWVudDsKIH07Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVudC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmgJKHJldmlzaW9uIDE5NTA2OSkKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTE4Niwx
MCArMTg2LDYgQEAgcHVibGljOgogICAgIC8vIFN1cHBvcnQgZm9yIGdsb2JhbCBzZWxlY3Rpb25z
LCB1c2VkIG9uIHBsYXRmb3JtcyBsaWtlIHRoZSBYIFdpbmRvdyBTeXN0ZW0gdGhhdCB0cmVhdAog
ICAgIC8vIHNlbGVjdGlvbiBhcyBhIHR5cGUgb2YgY2xpcGJvYXJkLgogICAgIHZpcnR1YWwgYm9v
bCBzdXBwb3J0c0dsb2JhbFNlbGVjdGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9Ci0KLSNpZiBQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwCi0g
ICAgdmlydHVhbCB2b2lkIHJlcXVlc3RDYW5kaWRhdGVzRm9yU2VsZWN0aW9uKGNvbnN0IFZpc2li
bGVTZWxlY3Rpb24mKSA9IDA7Ci0jZW5kaWYKIH07CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlz
aW9uIDE5NTA4MCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDE2LTAxLTE0ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNv
bT4KKworICAgICAgICBXSzEgYW5kIFdLMiBzaG91bGQgc2hhcmUgbW9yZSBjYW5kaWRhdGUgcmVx
dWVzdCBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTMxMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICByZXF1ZXN0Q2FuZGlkYXRlc0ZvclNlbGVjdGlvbigpIGRvZXMgbm90IG5lZWQgdG8gYmUgZXhw
b3NlZCBhcyBhbiAKKyAgICAgICAgRWRpdG9yQ2xpZW50IGZ1bmN0aW9uLiBXSzEgY2FuIGp1c3Qg
Y2FsbCBpbnZva2UgdGhpcyBjb2RlIGZyb20gdGhlIGV4aXN0aW5nIAorICAgICAgICByZXNwb25k
VG9DaGFuZ2VkU2VsZWN0aW9uIEVkaXRvckNsaWVudCBmdW5jdGlvbiwgd2hpY2ggaXMgd2hhdCBX
SzIgZG9lcy4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNs
aWVudC5oOgorCiAyMDE2LTAxLTE0ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAog
ICAgICAgICBXSzI6IFJlcXVlc3QgY29tcGxldGlvbiBjYW5kaWRhdGVzIHdoZW4gbmVlZGVkCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNs
aWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgJKHJldmlzaW9uIDE5NTA2OSkKKysrIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE1MCwxMCArMTUwLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2V0
SW5wdXRNZXRob2RTdGF0ZShib29sIGVuYWJsZWQpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9p
ZCByZXF1ZXN0Q2hlY2tpbmdPZlN0cmluZyhXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6VGV4dENo
ZWNraW5nUmVxdWVzdD4pIG92ZXJyaWRlOwogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMAotICAgIHZpcnR1YWwgdm9pZCByZXF1
ZXN0Q2FuZGlkYXRlc0ZvclNlbGVjdGlvbihjb25zdCBXZWJDb3JlOjpWaXNpYmxlU2VsZWN0aW9u
Jikgb3ZlcnJpZGUgeyB9Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKEdUSykKICAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkU2hvd1VuaWNvZGVNZW51KCkgb3ZlcnJpZGU7CiAjZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NTA4MCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE2LTAxLTE0ICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBXSzEgYW5kIFdLMiBzaG91bGQgc2hh
cmUgbW9yZSBjYW5kaWRhdGUgcmVxdWVzdCBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTMxMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICByZXF1ZXN0Q2FuZGlkYXRlc0ZvclNlbGVjdGlvbigpIGRv
ZXMgbm90IG5lZWQgdG8gYmUgZXhwb3NlZCBhcyBhbiAKKyAgICAgICAgRWRpdG9yQ2xpZW50IGZ1
bmN0aW9uLiBXSzEgY2FuIGp1c3QgY2FsbCBpbnZva2UgdGhpcyBjb2RlIGZyb20gdGhlIGV4aXN0
aW5nIAorICAgICAgICByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uIEVkaXRvckNsaWVudCBmdW5j
dGlvbiwgd2hpY2ggaXMgd2hhdCBXSzIgZG9lcy4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJFZGl0b3JDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGll
bnQubW06CisgICAgICAgIChXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rp
b24pOgorCisgICAgICAgIENsZWFudXAg4oCUIHVzZSBzb21lIGNvZGUgdGhhdCB3YXMgbW92ZWQg
dG8gV2ViQ29yZTo6RWRpdG9yLgorICAgICAgICAoV2ViRWRpdG9yQ2xpZW50OjpyZXF1ZXN0Q2Fu
ZGlkYXRlc0ZvclNlbGVjdGlvbik6CisgICAgICAgIChXZWJFZGl0b3JDbGllbnQ6OmhhbmRsZVJl
cXVlc3RlZENhbmRpZGF0ZXMpOgorICAgICAgICAodGV4dENoZWNraW5nUmVzdWx0RnJvbU5TVGV4
dENoZWNraW5nUmVzdWx0KToKKyAgICAgICAgKFdlYkVkaXRvckNsaWVudDo6aGFuZGxlQWNjZXB0
ZWRDYW5kaWRhdGUpOgorICAgICAgICAoY2FuZGlkYXRlUmFuZ2VGb3JTZWxlY3Rpb24pOiBEZWxl
dGVkLgorICAgICAgICAoY2FuZGlkYXRlV291bGRSZXBsYWNlVGV4dCk6IERlbGV0ZWQuCisKIDIw
MTYtMDEtMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByMTk0OTAwLgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgJKHJldmlzaW9uIDE5NTA2OSkK
KysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzAsNyArMTcwLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZv
aWQgcmVxdWVzdENoZWNraW5nT2ZTdHJpbmcoUGFzc1JlZlB0cjxXZWJDb3JlOjpUZXh0Q2hlY2tp
bmdSZXF1ZXN0Pikgb3ZlcnJpZGU7CiAKICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RD
YW5kaWRhdGVzRm9yU2VsZWN0aW9uKGNvbnN0IFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb24mKSBv
dmVycmlkZTsKKyAgICB2b2lkIHJlcXVlc3RDYW5kaWRhdGVzRm9yU2VsZWN0aW9uKGNvbnN0IFdl
YkNvcmU6OlZpc2libGVTZWxlY3Rpb24mKTsKICAgICB2b2lkIGhhbmRsZVJlcXVlc3RlZENhbmRp
ZGF0ZXMoTlNJbnRlZ2VyLCBOU0FycmF5PE5TVGV4dENoZWNraW5nUmVzdWx0ICo+ICopOwogICAg
IHZvaWQgaGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUoTlNUZXh0Q2hlY2tpbmdSZXN1bHQgKik7CiAj
ZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNs
aWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJFZGl0b3JDbGllbnQubW0JKHJldmlzaW9uIDE5NTA2OSkKKysrIFNvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQkod29ya2luZyBjb3B5KQpAQCAtMzY3
LDYgKzM2NywxMSBAQCB2b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlCiAg
ICAgaWYgKCFbbV93ZWJWaWV3IF9pc0Nsb3NpbmddKQogICAgICAgICBXZWJUaHJlYWRQb3N0Tm90
aWZpY2F0aW9uKFdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24sIG1fd2ViVmll
dywgbmlsKTsKICNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTIwMAorICAgIGlmIChmcmFtZS0+ZWRpdG9yKCkuY2FuRWRp
dCgpKQorICAgICAgICByZXF1ZXN0Q2FuZGlkYXRlc0ZvclNlbGVjdGlvbihmcmFtZS0+c2VsZWN0
aW9uKCkuc2VsZWN0aW9uKCkpOworI2VuZGlmCiB9CiAKIHZvaWQgV2ViRWRpdG9yQ2xpZW50Ojpk
aXNjYXJkZWRDb21wb3NpdGlvbihGcmFtZSopCkBAIC0xMTI0LDE1ICsxMTI5LDEyIEBAIHZvaWQg
V2ViRWRpdG9yQ2xpZW50OjpyZXF1ZXN0Q2FuZGlkYXRlc0YKIAogICAgIFZpc2libGVQb3NpdGlv
biBzZWxlY3Rpb25TdGFydCA9IHNlbGVjdGlvbi52aXNpYmxlU3RhcnQoKTsKICAgICBWaXNpYmxl
UG9zaXRpb24gc2VsZWN0aW9uRW5kID0gc2VsZWN0aW9uLnZpc2libGVFbmQoKTsKLQotICAgIC8v
IFVzZSB0aGUgc3Vycm91bmRpbmcgcGFyYWdyYXBocyBvZiB0ZXh0IGFzIGNvbnRleHQuCiAgICAg
VmlzaWJsZVBvc2l0aW9uIHBhcmFncmFwaFN0YXJ0ID0gc3RhcnRPZlBhcmFncmFwaChzZWxlY3Rp
b25TdGFydCk7CiAgICAgVmlzaWJsZVBvc2l0aW9uIHBhcmFncmFwaEVuZCA9IGVuZE9mUGFyYWdy
YXBoKHNlbGVjdGlvbkVuZCk7CiAKICAgICBpbnQgbGVuZ3RoVG9TZWxlY3Rpb25TdGFydCA9IFRl
eHRJdGVyYXRvcjo6cmFuZ2VMZW5ndGgobWFrZVJhbmdlKHBhcmFncmFwaFN0YXJ0LCBzZWxlY3Rp
b25TdGFydCkuZ2V0KCkpOwogICAgIGludCBsZW5ndGhUb1NlbGVjdGlvbkVuZCA9IFRleHRJdGVy
YXRvcjo6cmFuZ2VMZW5ndGgobWFrZVJhbmdlKHBhcmFncmFwaFN0YXJ0LCBzZWxlY3Rpb25FbmQp
LmdldCgpKTsKICAgICBOU1JhbmdlIHJhbmdlRm9yQ2FuZGlkYXRlcyA9IE5TTWFrZVJhbmdlKGxl
bmd0aFRvU2VsZWN0aW9uU3RhcnQsIGxlbmd0aFRvU2VsZWN0aW9uRW5kIC0gbGVuZ3RoVG9TZWxl
Y3Rpb25TdGFydCk7Ci0KICAgICBTdHJpbmcgZnVsbFBsYWluVGV4dFN0cmluZ09mUGFyYWdyYXBo
ID0gcGxhaW5UZXh0KG1ha2VSYW5nZShwYXJhZ3JhcGhTdGFydCwgcGFyYWdyYXBoRW5kKS5nZXQo
KSk7CiAKICAgICBOU1RleHRDaGVja2luZ1R5cGVzIGNoZWNraW5nVHlwZXMgPSBOU1RleHRDaGVj
a2luZ1R5cGVTcGVsbGluZyB8IE5TVGV4dENoZWNraW5nVHlwZVJlcGxhY2VtZW50IHwgTlNUZXh0
Q2hlY2tpbmdUeXBlQ29ycmVjdGlvbjsKQEAgLTExNDYsMjAgKzExNDgsNiBAQCB2b2lkIFdlYkVk
aXRvckNsaWVudDo6cmVxdWVzdENhbmRpZGF0ZXNGCiAgICAgfV07CiB9CiAKLXN0YXRpYyBSZWZQ
dHI8UmFuZ2U+IGNhbmRpZGF0ZVJhbmdlRm9yU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rp
b24mIHNlbGVjdGlvbiwgRnJhbWUqIGZyYW1lKQotewotICAgIHJldHVybiBzZWxlY3Rpb24uaXND
YXJldCgpID8gd29yZFJhbmdlRnJvbVBvc2l0aW9uKHNlbGVjdGlvbi5zdGFydCgpKSA6IGZyYW1l
LT5zZWxlY3Rpb24oKS50b05vcm1hbGl6ZWRSYW5nZSgpOwotfQotCi1zdGF0aWMgYm9vbCBjYW5k
aWRhdGVXb3VsZFJlcGxhY2VUZXh0KGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbikK
LXsKLSAgICAvLyBJZiB0aGUgY2hhcmFjdGVyIGJlaGluZCB0aGUgY2FyZXQgaW4gdGhlIGN1cnJl
bnQgc2VsZWN0aW9uIGlzIGFueXRoaW5nIGJ1dCBhIHNwYWNlIG9yIGEgbmV3bGluZSB0aGVuIHdl
IHNob3VsZAotICAgIC8vIHJlcGxhY2UgdGhlIHdob2xlIGN1cnJlbnQgd29yZCB3aXRoIHRoZSBj
YW5kaWRhdGUuCi0gICAgVUNoYXIzMiBjaGFyYWN0ZXJBZnRlclNlbGVjdGlvbiwgY2hhcmFjdGVy
QmVmb3JlU2VsZWN0aW9uLCB0d29DaGFyYWN0ZXJCZWZvcmVTZWxlY3Rpb24gPSAwOwotICAgIGNo
YXJhY3RlcnNBcm91bmRQb3NpdGlvbihzZWxlY3Rpb24udmlzaWJsZVN0YXJ0KCksIGNoYXJhY3Rl
ckFmdGVyU2VsZWN0aW9uLCBjaGFyYWN0ZXJCZWZvcmVTZWxlY3Rpb24sIHR3b0NoYXJhY3RlckJl
Zm9yZVNlbGVjdGlvbik7Ci0gICAgcmV0dXJuICEoY2hhcmFjdGVyQmVmb3JlU2VsZWN0aW9uID09
ICdcMCcgfHwgY2hhcmFjdGVyQmVmb3JlU2VsZWN0aW9uID09ICdcbicgfHwgY2hhcmFjdGVyQmVm
b3JlU2VsZWN0aW9uID09ICcgJyk7Ci19Ci0KIHZvaWQgV2ViRWRpdG9yQ2xpZW50OjpoYW5kbGVS
ZXF1ZXN0ZWRDYW5kaWRhdGVzKE5TSW50ZWdlciBzZXF1ZW5jZU51bWJlciwgTlNBcnJheTxOU1Rl
eHRDaGVja2luZ1Jlc3VsdCAqPiAqY2FuZGlkYXRlcykKIHsKICAgICBGcmFtZSogZnJhbWUgPSBj
b3JlKFttX3dlYlZpZXcgX3NlbGVjdGVkT3JNYWluRnJhbWVdKTsKQEAgLTExNzAsMTQgKzExNTgs
NyBAQCB2b2lkIFdlYkVkaXRvckNsaWVudDo6aGFuZGxlUmVxdWVzdGVkQ2FuCiAgICAgaWYgKHNl
bGVjdGlvbiAhPSBtX2xhc3RTZWxlY3Rpb25Gb3JSZXF1ZXN0ZWRDYW5kaWRhdGVzKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlRm9yQ3VycmVudGx5VHlwZWRTdHJp
bmcgPSBjYW5kaWRhdGVSYW5nZUZvclNlbGVjdGlvbihzZWxlY3Rpb24sIGZyYW1lKTsKLSAgICBO
U1N0cmluZyAqY3VycmVudGx5VHlwZWRTdHJpbmc7Ci0gICAgaWYgKHJhbmdlRm9yQ3VycmVudGx5
VHlwZWRTdHJpbmcgJiYgY2FuZGlkYXRlV291bGRSZXBsYWNlVGV4dChzZWxlY3Rpb24pKQotICAg
ICAgICBjdXJyZW50bHlUeXBlZFN0cmluZyA9IHBsYWluVGV4dChyYW5nZUZvckN1cnJlbnRseVR5
cGVkU3RyaW5nLmdldCgpKTsKLSAgICBlbHNlCi0gICAgICAgIGN1cnJlbnRseVR5cGVkU3RyaW5n
ID0gQCIiOwotCi0gICAgUmVmUHRyPFJhbmdlPiBzZWxlY3RlZFJhbmdlID0gZnJhbWUtPnNlbGVj
dGlvbigpLnNlbGVjdGlvbigpLnRvTm9ybWFsaXplZFJhbmdlKCk7CisgICAgUmVmUHRyPFJhbmdl
PiBzZWxlY3RlZFJhbmdlID0gc2VsZWN0aW9uLnRvTm9ybWFsaXplZFJhbmdlKCk7CiAgICAgaWYg
KCFzZWxlY3RlZFJhbmdlKQogICAgICAgICByZXR1cm47CiAKQEAgLTExODgsNyArMTE2OSw3IEBA
IHZvaWQgV2ViRWRpdG9yQ2xpZW50OjpoYW5kbGVSZXF1ZXN0ZWRDYW4KICAgICAgICAgcmVjdEZv
clNlbGVjdGlvbkNhbmRpZGF0ZXMgPSBmcmFtZS0+dmlldygpLT5jb250ZW50c1RvV2luZG93KHF1
YWRzWzBdLmVuY2xvc2luZ0JvdW5kaW5nQm94KCkpOwogCiAgICAgYXV0byB3ZWFrRWRpdG9yID0g
bV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCk7Ci0gICAgW1tOU1NwZWxsQ2hlY2tlciBz
aGFyZWRTcGVsbENoZWNrZXJdIHNob3dDYW5kaWRhdGVzOmNhbmRpZGF0ZXMgZm9yU3RyaW5nOmN1
cnJlbnRseVR5cGVkU3RyaW5nIGluUmVjdDpyZWN0Rm9yU2VsZWN0aW9uQ2FuZGlkYXRlcyB2aWV3
Om1fd2ViVmlldyBjb21wbGV0aW9uSGFuZGxlcjpbd2Vha0VkaXRvcl0oTlNUZXh0Q2hlY2tpbmdS
ZXN1bHQgKmFjY2VwdGVkQ2FuZGlkYXRlKSB7CisgICAgW1tOU1NwZWxsQ2hlY2tlciBzaGFyZWRT
cGVsbENoZWNrZXJdIHNob3dDYW5kaWRhdGVzOmNhbmRpZGF0ZXMgZm9yU3RyaW5nOmZyYW1lLT5l
ZGl0b3IoKS5zdHJpbmdGb3JDYW5kaWRhdGVSZXF1ZXN0KCkgaW5SZWN0OnJlY3RGb3JTZWxlY3Rp
b25DYW5kaWRhdGVzIHZpZXc6bV93ZWJWaWV3IGNvbXBsZXRpb25IYW5kbGVyOlt3ZWFrRWRpdG9y
XShOU1RleHRDaGVja2luZ1Jlc3VsdCAqYWNjZXB0ZWRDYW5kaWRhdGUpIHsKICAgICAgICAgZGlz
cGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsKICAgICAgICAgICAgIGlm
ICghd2Vha0VkaXRvcikKICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0xMTk4LDYgKzExNzks
MzQgQEAgdm9pZCBXZWJFZGl0b3JDbGllbnQ6OmhhbmRsZVJlcXVlc3RlZENhbgogCiB9CiAKK3N0
YXRpYyBXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1bHQgdGV4dENoZWNraW5nUmVzdWx0RnJvbU5T
VGV4dENoZWNraW5nUmVzdWx0KE5TVGV4dENoZWNraW5nUmVzdWx0ICpuc1Jlc3VsdCkKK3sKKyAg
ICBXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1bHQgcmVzdWx0OworCisgICAgLy8gRklYTUU6IFJp
Z2h0IG5vdyB3ZSBvbmx5IHJlcXVlc3QgY2FuZGlkYXRlcyBmb3Igc3BlbGxpbmcsIHJlcGxhY2Vt
ZW50LCBhbmQgY29ycmVjdGlvbiwgYnV0IHdlIHBsYW4gdG8KKyAgICAvLyBzdXBwb3J0IG1vcmUg
dHlwZXMsIGFuZCB3ZSB3aWxsIGhhdmUgdG8gdXBkYXRlIHRoaXMgYXQgdGhhdCB0aW1lLgorICAg
IHN3aXRjaCAoW25zUmVzdWx0IHJlc3VsdFR5cGVdKSB7CisgICAgY2FzZSBOU1RleHRDaGVja2lu
Z1R5cGVTcGVsbGluZzoKKyAgICAgICAgcmVzdWx0LnR5cGUgPSBXZWJDb3JlOjpUZXh0Q2hlY2tp
bmdUeXBlU3BlbGxpbmc7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTlNUZXh0Q2hlY2tpbmdU
eXBlUmVwbGFjZW1lbnQ6CisgICAgICAgIHJlc3VsdC50eXBlID0gV2ViQ29yZTo6VGV4dENoZWNr
aW5nVHlwZVJlcGxhY2VtZW50OworICAgICAgICBicmVhazsKKyAgICBjYXNlIE5TVGV4dENoZWNr
aW5nVHlwZUNvcnJlY3Rpb246CisgICAgICAgIHJlc3VsdC50eXBlID0gV2ViQ29yZTo6VGV4dENo
ZWNraW5nVHlwZUNvcnJlY3Rpb247CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAg
ICAgIHJlc3VsdC50eXBlID0gV2ViQ29yZTo6VGV4dENoZWNraW5nVHlwZU5vbmU7CisgICAgfQor
CisgICAgTlNSYW5nZSByZXN1bHRSYW5nZSA9IFtuc1Jlc3VsdCByYW5nZV07CisgICAgcmVzdWx0
LmxvY2F0aW9uID0gcmVzdWx0UmFuZ2UubG9jYXRpb247CisgICAgcmVzdWx0Lmxlbmd0aCA9IHJl
c3VsdFJhbmdlLmxlbmd0aDsKKyAgICByZXN1bHQucmVwbGFjZW1lbnQgPSBbbnNSZXN1bHQgcmVw
bGFjZW1lbnRTdHJpbmddOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogdm9pZCBXZWJFZGl0
b3JDbGllbnQ6OmhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKE5TVGV4dENoZWNraW5nUmVzdWx0ICph
Y2NlcHRlZENhbmRpZGF0ZSkKIHsKICAgICBGcmFtZSogZnJhbWUgPSBjb3JlKFttX3dlYlZpZXcg
X3NlbGVjdGVkT3JNYWluRnJhbWVdKTsKQEAgLTEyMDgsMTYgKzEyMTcsNyBAQCB2b2lkIFdlYkVk
aXRvckNsaWVudDo6aGFuZGxlQWNjZXB0ZWRDYW5kCiAgICAgaWYgKHNlbGVjdGlvbiAhPSBtX2xh
c3RTZWxlY3Rpb25Gb3JSZXF1ZXN0ZWRDYW5kaWRhdGVzKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBSZWZQdHI8UmFuZ2U+IGNhbmRpZGF0ZVJhbmdlID0gY2FuZGlkYXRlUmFuZ2VGb3JTZWxlY3Rp
b24oc2VsZWN0aW9uLCBmcmFtZSk7Ci0KLSAgICBmcmFtZS0+ZWRpdG9yKCkuc2V0SWdub3JlQ29t
cG9zaXRpb25TZWxlY3Rpb25DaGFuZ2UodHJ1ZSk7Ci0KLSAgICBpZiAoY2FuZGlkYXRlV291bGRS
ZXBsYWNlVGV4dChzZWxlY3Rpb24pKQotICAgICAgICBmcmFtZS0+c2VsZWN0aW9uKCkuc2V0U2Vs
ZWN0ZWRSYW5nZShjYW5kaWRhdGVSYW5nZS5nZXQoKSwgVVBTVFJFQU0sIHRydWUpOwotCi0gICAg
ZnJhbWUtPmVkaXRvcigpLmluc2VydFRleHQoYWNjZXB0ZWRDYW5kaWRhdGUucmVwbGFjZW1lbnRT
dHJpbmcsIDApOwotICAgIGZyYW1lLT5lZGl0b3IoKS5pbnNlcnRUZXh0KFN0cmluZygiICIpLCAw
KTsKLSAgICBmcmFtZS0+ZWRpdG9yKCkuc2V0SWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFu
Z2UoZmFsc2UpOworICAgIGZyYW1lLT5lZGl0b3IoKS5oYW5kbGVBY2NlcHRlZENhbmRpZGF0ZSh0
ZXh0Q2hlY2tpbmdSZXN1bHRGcm9tTlNUZXh0Q2hlY2tpbmdSZXN1bHQoYWNjZXB0ZWRDYW5kaWRh
dGUpKTsKIH0KICNlbmRpZiAvLyBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxMjAwCiAK
</data>
<flag name="review"
          id="293961"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>