<?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>190020</bug_id>
          
          <creation_ts>2018-09-26 17:21:59 -0700</creation_ts>
          <short_desc>Search cancels but also clears highlights</short_desc>
          <delta_ts>2018-10-03 16:34:36 -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>New Bugs</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zamiul Haque">zhaque</reporter>
          <assigned_to name="Zamiul Haque">zhaque</assigned_to>
          <cc>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zhaque</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1463842</commentid>
    <comment_count>0</comment_count>
    <who name="Zamiul Haque">zhaque</who>
    <bug_when>2018-09-26 17:21:59 -0700</bug_when>
    <thetext>Search cancels but also clears highlights</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463843</commentid>
    <comment_count>1</comment_count>
      <attachid>350929</attachid>
    <who name="Zamiul Haque">zhaque</who>
    <bug_when>2018-09-26 17:24:56 -0700</bug_when>
    <thetext>Created attachment 350929
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463844</commentid>
    <comment_count>2</comment_count>
    <who name="Zamiul Haque">zhaque</who>
    <bug_when>2018-09-26 17:24:58 -0700</bug_when>
    <thetext>&lt;rdar://problem/39546973&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464042</commentid>
    <comment_count>3</comment_count>
      <attachid>350929</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-27 10:40:09 -0700</bug_when>
    <thetext>Comment on attachment 350929
Patch

Thanks for the patch, Zamiul!

A few questions/comments:

1. How did you test this?
2. You&apos;ll notice that the ios and ios-sim EWS bots are red. I think this is because you didn&apos;t declare -cancelFindStringWithHighlightsCleared: in PDFKitSPI.h.
3. I think you&apos;ll need to still update _findStringCount and call _findCompletion when _findStringMaxCount is exceeded. Otherwise, we&apos;ll never inform the client about the find count, never focus the first result, and probably won&apos;t handle wrap-around properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464044</commentid>
    <comment_count>4</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-27 10:46:17 -0700</bug_when>
    <thetext>Also note that we have API tests for PDF find-in page in Tools/TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm. Right now those tests are disabled on iOS 12, and rdar://problem/39475542 tracks fixing that. Maybe you can help with that too!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464046</commentid>
    <comment_count>5</comment_count>
      <attachid>350929</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-27 10:47:51 -0700</bug_when>
    <thetext>Comment on attachment 350929
Patch

r- for now based on my previous comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464265</commentid>
    <comment_count>6</comment_count>
    <who name="Zamiul Haque">zhaque</who>
    <bug_when>2018-09-27 19:29:30 -0700</bug_when>
    <thetext>(In reply to Andy Estes from comment #3)
&gt; Comment on attachment 350929 [details]
&gt; Patch
&gt; 
&gt; Thanks for the patch, Zamiul!
&gt; 
&gt; A few questions/comments:
&gt; 
&gt; 1. How did you test this?
&gt; 2. You&apos;ll notice that the ios and ios-sim EWS bots are red. I think this is
&gt; because you didn&apos;t declare -cancelFindStringWithHighlightsCleared: in
&gt; PDFKitSPI.h.
&gt; 3. I think you&apos;ll need to still update _findStringCount and call
&gt; _findCompletion when _findStringMaxCount is exceeded. Otherwise, we&apos;ll never
&gt; inform the client about the find count, never focus the first result, and
&gt; probably won&apos;t handle wrap-around properly.

1. I tested it manually by changing _maximumNumberOfMatches in _SFFindOnPageView.m to 4, compiling it to the iOS simulator (iPhone X) and searching a PDF document for a string that occurs zero times, once, 3 times, 4 times and more than 4 times. I also tested the macOS PDF find-in-page feature, just in case something was broken. I was also relying on ews to give me any hints, if something went wrong.

2 &amp; 3. I&apos;ve changed the code to attend to both of these concerns. Please let me know what you think.

I&apos;ll attend to making proper test cases for this now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464266</commentid>
    <comment_count>7</comment_count>
    <who name="Zamiul Haque">zhaque</who>
    <bug_when>2018-09-27 19:30:57 -0700</bug_when>
    <thetext>(In reply to Andy Estes from comment #4)
&gt; Also note that we have API tests for PDF find-in page in
&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm. Right now those tests
&gt; are disabled on iOS 12, and rdar://problem/39475542 tracks fixing that.
&gt; Maybe you can help with that too!

Yeah, this looks helpful. I&apos;ll look into this and base my test cases for this bug off of it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464268</commentid>
    <comment_count>8</comment_count>
      <attachid>350929</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-09-27 19:37:51 -0700</bug_when>
    <thetext>Comment on attachment 350929
Patch

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

&gt; Source/WebKit/ChangeLog:5
&gt; +        &lt;rdar://problem/39546973&gt;

Nit - I think you should leave out this radar, since it only represents PDFKit work blocking this bug (&lt;rdar://problem/39585214&gt;)

&gt; Source/WebKit/UIProcess/ios/WKPDFView.mm:398
&gt; +        

Another very minor nit — extra newline here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464272</commentid>
    <comment_count>9</comment_count>
      <attachid>351042</attachid>
    <who name="Zamiul Haque">zhaque</who>
    <bug_when>2018-09-27 19:53:32 -0700</bug_when>
    <thetext>Created attachment 351042
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464273</commentid>
    <comment_count>10</comment_count>
    <who name="Zamiul Haque">zhaque</who>
    <bug_when>2018-09-27 19:53:59 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #8)
&gt; Comment on attachment 350929 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=350929&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:5
&gt; &gt; +        &lt;rdar://problem/39546973&gt;
&gt; 
&gt; Nit - I think you should leave out this radar, since it only represents
&gt; PDFKit work blocking this bug (&lt;rdar://problem/39585214&gt;)
&gt; 
&gt; &gt; Source/WebKit/UIProcess/ios/WKPDFView.mm:398
&gt; &gt; +        
&gt; 
&gt; Another very minor nit — extra newline here.

Done and done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464505</commentid>
    <comment_count>11</comment_count>
      <attachid>351042</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-28 14:29:20 -0700</bug_when>
    <thetext>Comment on attachment 351042
Patch

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

This looks great Zamiul! r=me, but please address my comments before landing.

&gt; Source/WebKit/ChangeLog:3
&gt; +        Search cancels but also clears highlights

This title doesn&apos;t really make sense. The issue isn&apos;t that we mistakenly cleared highlights when the maximum count was exceeded, it&apos;s that we didn&apos;t even cancel the search (because the only cancel API we had at the time also cleared highlights).

&gt; Source/WebKit/ChangeLog:10
&gt; +        When searching a PDF document on iOS, the maximum number of matching
&gt; +        terms are limited to 100. Beyond this limit, a PDF document should not

Limiting the search to 100 items is what Safari happens to do, but other clients might use a different limit. I&apos;d talk about the search limit in more generic terms and avoid mentioning the policy of a specific client.

&gt; Source/WebKit/ChangeLog:17
&gt; +        In the process of making tests.

Do you plan to add tests directly to this patch?

If not, I&apos;d mention that you are planning to test this in a follow-up. I think a follow-up is fine since WKPDFView tests are currently disabled, and re-enabling them on iOS 12 is a task in itself.

&gt; Source/WebKit/UIProcess/ios/WKPDFView.mm:395
&gt; +    if (numFound &gt; _findStringMaxCount) {

It&apos;s probably my fault for writing a misleading FIXME comment, but I think you want to stop when numFound is greater than or equal to _findStringMaxCount.

&gt; Source/WebKit/UIProcess/ios/WKPDFView.mm:397
&gt; +        [controller cancelFindStringWithHighlightsCleared:false];
&gt; +        done = true;

For BOOL types we use YES and NO, not true and false.

&gt; Source/WebKit/UIProcess/ios/WKPDFView.mm:402
&gt; +    

Unneeded whitespace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464555</commentid>
    <comment_count>12</comment_count>
      <attachid>351042</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-28 15:33:40 -0700</bug_when>
    <thetext>Comment on attachment 351042
Patch

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

&gt;&gt; Source/WebKit/UIProcess/ios/WKPDFView.mm:395
&gt;&gt; +    if (numFound &gt; _findStringMaxCount) {
&gt; 
&gt; It&apos;s probably my fault for writing a misleading FIXME comment, but I think you want to stop when numFound is greater than or equal to _findStringMaxCount.

One more comment about this: if numFound happens to be greater than or equal to _findStringMaxCount but done is also YES, then we probably don&apos;t want to call -cancelFindStringWithHighlightsCleared:.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466210</commentid>
    <comment_count>13</comment_count>
      <attachid>351557</attachid>
    <who name="Zamiul Haque">zhaque</who>
    <bug_when>2018-10-03 16:00:07 -0700</bug_when>
    <thetext>Created attachment 351557
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466212</commentid>
    <comment_count>14</comment_count>
    <who name="Zamiul Haque">zhaque</who>
    <bug_when>2018-10-03 16:01:14 -0700</bug_when>
    <thetext>(In reply to Andy Estes from comment #12)
&gt; Comment on attachment 351042 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=351042&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/UIProcess/ios/WKPDFView.mm:395
&gt; &gt;&gt; +    if (numFound &gt; _findStringMaxCount) {
&gt; &gt; 
&gt; &gt; It&apos;s probably my fault for writing a misleading FIXME comment, but I think you want to stop when numFound is greater than or equal to _findStringMaxCount.
&gt; 
&gt; One more comment about this: if numFound happens to be greater than or equal
&gt; to _findStringMaxCount but done is also YES, then we probably don&apos;t want to
&gt; call -cancelFindStringWithHighlightsCleared:.

True, I&apos;ve included that in the conditional.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466216</commentid>
    <comment_count>15</comment_count>
    <who name="Zamiul Haque">zhaque</who>
    <bug_when>2018-10-03 16:11:20 -0700</bug_when>
    <thetext>(In reply to Andy Estes from comment #11)
&gt; Comment on attachment 351042 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=351042&amp;action=review
&gt; 
&gt; This looks great Zamiul! r=me, but please address my comments before landing.
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:3
&gt; &gt; +        Search cancels but also clears highlights
&gt; 
&gt; This title doesn&apos;t really make sense. The issue isn&apos;t that we mistakenly
&gt; cleared highlights when the maximum count was exceeded, it&apos;s that we didn&apos;t
&gt; even cancel the search (because the only cancel API we had at the time also
&gt; cleared highlights).
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:10
&gt; &gt; +        When searching a PDF document on iOS, the maximum number of matching
&gt; &gt; +        terms are limited to 100. Beyond this limit, a PDF document should not
&gt; 
&gt; Limiting the search to 100 items is what Safari happens to do, but other
&gt; clients might use a different limit. I&apos;d talk about the search limit in more
&gt; generic terms and avoid mentioning the policy of a specific client.
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:17
&gt; &gt; +        In the process of making tests.
&gt; 
&gt; Do you plan to add tests directly to this patch?
&gt; 
&gt; If not, I&apos;d mention that you are planning to test this in a follow-up. I
&gt; think a follow-up is fine since WKPDFView tests are currently disabled, and
&gt; re-enabling them on iOS 12 is a task in itself.
&gt; 
&gt; &gt; Source/WebKit/UIProcess/ios/WKPDFView.mm:395
&gt; &gt; +    if (numFound &gt; _findStringMaxCount) {
&gt; 
&gt; It&apos;s probably my fault for writing a misleading FIXME comment, but I think
&gt; you want to stop when numFound is greater than or equal to
&gt; _findStringMaxCount.
&gt; 
&gt; &gt; Source/WebKit/UIProcess/ios/WKPDFView.mm:397
&gt; &gt; +        [controller cancelFindStringWithHighlightsCleared:false];
&gt; &gt; +        done = true;
&gt; 
&gt; For BOOL types we use YES and NO, not true and false.
&gt; 
&gt; &gt; Source/WebKit/UIProcess/ios/WKPDFView.mm:402
&gt; &gt; +    
&gt; 
&gt; Unneeded whitespace.

As per our discussion, we decided to stick with numFound &gt; _findStringMaxCount, rather than use a &gt;=. The latter would finish a bit too early and result in unexpected UI updates.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466230</commentid>
    <comment_count>16</comment_count>
      <attachid>351557</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-03 16:34:34 -0700</bug_when>
    <thetext>Comment on attachment 351557
Patch

Clearing flags on attachment: 351557

Committed r236815: &lt;https://trac.webkit.org/changeset/236815&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466231</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-03 16:34:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350929</attachid>
            <date>2018-09-26 17:24:56 -0700</date>
            <delta_ts>2018-09-27 19:53:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190020-20180926172454.patch</filename>
            <type>text/plain</type>
            <size>1783</size>
            <attacher name="Zamiul Haque">zhaque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1OTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDUxYTA1YjM2ZTA3N2U1MTNl
MTM1MWExZGM1ZWJmMGQ1OWUxYjA2NzMuLmE5Y2RiYjMxN2E3NzZhZTYwNThiZjRhYTlkMjgzYTUw
ZTRmMmQwZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDktMjYgIFphbWl1bCBI
YXF1ZSAgPHpoYXF1ZUBhcHBsZS5jb20+CisKKyAgICAgICAgU2VhcmNoIGNhbmNlbHMgYnV0IGFs
c28gY2xlYXJzIGhpZ2hsaWdodHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5MDAyMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzk1NDY5NzM+Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zOTU4NTIxND4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBwcm9jZXNzIG9mIG1ha2luZyB0ZXN0cyAoYW5k
IGV4cGxvcmluZyB2aWFiaWxpdHkgb2YgbWFraW5nIHRlc3RzIGF0IGFsbCkuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1dLUERGVmlldy5tbToKKyAgICAgICAgKC1bV0tQREZWaWV3IHBkZkhv
c3RWaWV3Q29udHJvbGxlcjpmaW5kU3RyaW5nVXBkYXRlOmRvbmU6XSk6CisKIDIwMTgtMDktMTEg
IFBhYmxvIFNhYXZlZHJhICA8cHNhYXZlZHJhQGlnYWxpYS5jb20+CiAKICAgICAgICAgQWRkIG1p
c3NpbmcgI2lmIEVOQUJMRShWSURFTykgV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
UERGVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0KaW5k
ZXggZGZmNGM2Y2JmMDAzMmUxNTVjYmNiOTFmMTNhYmZiM2RjMjM0MDFlYS4uNDNiMWM5YTRkMTkx
ZTNhMWIwYzRiYTg5MDc0OTcyZjNkMGFiZjI5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLUERGVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tQREZWaWV3Lm1tCkBAIC0zOTIsOCArMzkyLDEyIEBAIC0gKHZvaWQpcGRmSG9zdFZpZXdD
b250cm9sbGVyOihQREZIb3N0Vmlld0NvbnRyb2xsZXIgKiljb250cm9sbGVyIGRvY3VtZW50RGlk
VW5sCiAKIC0gKHZvaWQpcGRmSG9zdFZpZXdDb250cm9sbGVyOihQREZIb3N0Vmlld0NvbnRyb2xs
ZXIgKiljb250cm9sbGVyIGZpbmRTdHJpbmdVcGRhdGU6KE5TVUludGVnZXIpbnVtRm91bmQgZG9u
ZTooQk9PTClkb25lCiB7Ci0gICAgLy8gRklYTUU6IFdlIHNob3VsZCBzdG9wIHNlYXJjaGluZyBv
bmNlIG51bUZvdW5kIGV4Y2VlZHMgX2ZpbmRTdHJpbmdNYXhDb3VudCwgYnV0IFBERktpdCBkb2Vz
bid0Ci0gICAgLy8gYWxsb3cgdXMgdG8gc3RvcCB0aGUgc2VhcmNoIHdpdGhvdXQgYWxzbyBjbGVh
cmluZyB0aGUgc2VhcmNoIGhpZ2hsaWdodHMuIFNlZSA8cmRhcjovL3Byb2JsZW0vMzk1NDY5NzM+
LgorICAgIGlmIChudW1Gb3VuZCA+IF9maW5kU3RyaW5nTWF4Q291bnQpIHsKKyAgICAgICAgW2Nv
bnRyb2xsZXIgY2FuY2VsRmluZFN0cmluZ1dpdGhIaWdobGlnaHRzQ2xlYXJlZDpmYWxzZV07Cisg
ICAgICAgIHJldHVybjsKKyAgICAgICAgCisgICAgfQorICAgIAogICAgIGlmICghZG9uZSkKICAg
ICAgICAgcmV0dXJuOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351042</attachid>
            <date>2018-09-27 19:53:32 -0700</date>
            <delta_ts>2018-10-03 16:00:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190020-20180927195329.patch</filename>
            <type>text/plain</type>
            <size>3147</size>
            <attacher name="Zamiul Haque">zhaque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1OTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDUxYTA1YjM2ZTA3N2U1MTNl
MTM1MWExZGM1ZWJmMGQ1OWUxYjA2NzMuLmY4NjE1NDU2MzllYmY4Zjk0ZTc0Y2IzZDhmNWZhNjM5
ZDUwMjQzNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTgtMDktMjYgIFphbWl1bCBI
YXF1ZSAgPHpoYXF1ZUBhcHBsZS5jb20+CisKKyAgICAgICAgU2VhcmNoIGNhbmNlbHMgYnV0IGFs
c28gY2xlYXJzIGhpZ2hsaWdodHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5MDAyMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzk1ODUyMTQ+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBzZWFy
Y2hpbmcgYSBQREYgZG9jdW1lbnQgb24gaU9TLCB0aGUgbWF4aW11bSBudW1iZXIgb2YgbWF0Y2hp
bmcKKyAgICAgICAgdGVybXMgYXJlIGxpbWl0ZWQgdG8gMTAwLiBCZXlvbmQgdGhpcyBsaW1pdCwg
YSBQREYgZG9jdW1lbnQgc2hvdWxkIG5vdAorICAgICAgICBiZSBzZWFyY2hlZCwgc2luY2UgdGhl
IFVJIHdpbGwgbm90IGJlIHVwZGF0ZWQgY29ycmVzcG9uZGluZ2x5LiBUbyB0aGlzIGVmZmVjdCwK
KyAgICAgICAgYSBuZXcgU1BJIHdhcyBtYWRlIHRvIGNhbmNlbCBhIHNlYXJjaCB3aGVuIHRoZSBt
YXhpbXVtIGxpbWl0IG9mIG1hdGNoaW5nIHRlcm1zCisgICAgICAgIGlzIHJlYWNoZWQuIFRoaXMg
aXMgZG9uZSB3aXRob3V0IGNsZWFyaW5nIHRoZSBoaWdobGlnaHRpbmcgZm9yIHRoZSBhbGwgdGhl
IHRlcm1zCisgICAgICAgIHRoYXQgd2VyZSBmb3VuZCB1bmRlciB0aGUgbGltaXQuIFRoaXMgYnVn
IHdhcyBhIHJlc3VsdCBvZiBub3QgaGF2aW5nIGltcGxlbWVudGVkIAorICAgICAgICB0aGUgbmV3
IFNQSSBpbiBXS1BERlZpZXcuCisKKyAgICAgICAgSW4gdGhlIHByb2Nlc3Mgb2YgbWFraW5nIHRl
c3RzLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW06CisgICAgICAgICgt
W1dLUERGVmlldyBwZGZIb3N0Vmlld0NvbnRyb2xsZXI6ZmluZFN0cmluZ1VwZGF0ZTpkb25lOl0p
OgorCiAyMDE4LTA5LTExICBQYWJsbyBTYWF2ZWRyYSAgPHBzYWF2ZWRyYUBpZ2FsaWEuY29tPgog
CiAgICAgICAgIEFkZCBtaXNzaW5nICNpZiBFTkFCTEUoVklERU8pIFdlYlByb2Nlc3MvRnVsbFNj
cmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vc3BpL2lvcy9QREZLaXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3Bp
L2lvcy9QREZLaXRTUEkuaAppbmRleCA1ODM3MzMzNGRhZTlkMWVjZTdiYTYyMzlkYzA5N2I1NTRi
MDEwZThhLi45M2IwMTA1Njg1MDUzZTYyYWYzMmQxN2UyZjBlM2VhMDcxYWExMzI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvUERGS2l0U1BJLmgKKysrIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1BERktpdFNQSS5oCkBAIC00NSw2ICs0NSw3IEBA
CiAKIC0gKHZvaWQpIGZpbmRTdHJpbmc6KE5TU3RyaW5nKikgc3RyaW5nIHdpdGhPcHRpb25zOihO
U1N0cmluZ0NvbXBhcmVPcHRpb25zKSBvcHRpb25zOwogLSAodm9pZCkgY2FuY2VsRmluZFN0cmlu
ZzsKKy0gKHZvaWQpIGNhbmNlbEZpbmRTdHJpbmdXaXRoSGlnaGxpZ2h0c0NsZWFyZWQ6KEJPT0wp
Y2xlYXJlZDsKIC0gKHZvaWQpIGZvY3VzT25TZWFyY2hSZXN1bHRBdEluZGV4OihOU1VJbnRlZ2Vy
KSBzZWFyY2hJbmRleDsKIAogLSAoTlNJbnRlZ2VyKSBjdXJyZW50UGFnZUluZGV4OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLUERGVmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0KaW5kZXggZGZmNGM2Y2JmMDAzMmUxNTVj
YmNiOTFmMTNhYmZiM2RjMjM0MDFlYS4uNDQxOTgyOTFkNGY0NTMxZWU0MTkxZTg5OWNlZDkyOGZh
NjQ0ZWVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLUERGVmll
dy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3Lm1tCkBAIC0z
OTIsMTQgKzM5MiwxOCBAQCAtICh2b2lkKXBkZkhvc3RWaWV3Q29udHJvbGxlcjooUERGSG9zdFZp
ZXdDb250cm9sbGVyICopY29udHJvbGxlciBkb2N1bWVudERpZFVubAogCiAtICh2b2lkKXBkZkhv
c3RWaWV3Q29udHJvbGxlcjooUERGSG9zdFZpZXdDb250cm9sbGVyICopY29udHJvbGxlciBmaW5k
U3RyaW5nVXBkYXRlOihOU1VJbnRlZ2VyKW51bUZvdW5kIGRvbmU6KEJPT0wpZG9uZQogewotICAg
IC8vIEZJWE1FOiBXZSBzaG91bGQgc3RvcCBzZWFyY2hpbmcgb25jZSBudW1Gb3VuZCBleGNlZWRz
IF9maW5kU3RyaW5nTWF4Q291bnQsIGJ1dCBQREZLaXQgZG9lc24ndAotICAgIC8vIGFsbG93IHVz
IHRvIHN0b3AgdGhlIHNlYXJjaCB3aXRob3V0IGFsc28gY2xlYXJpbmcgdGhlIHNlYXJjaCBoaWdo
bGlnaHRzLiBTZWUgPHJkYXI6Ly9wcm9ibGVtLzM5NTQ2OTczPi4KKyAgICBpZiAobnVtRm91bmQg
PiBfZmluZFN0cmluZ01heENvdW50KSB7CisgICAgICAgIFtjb250cm9sbGVyIGNhbmNlbEZpbmRT
dHJpbmdXaXRoSGlnaGxpZ2h0c0NsZWFyZWQ6ZmFsc2VdOworICAgICAgICBkb25lID0gdHJ1ZTsK
KyAgICB9CisgICAgCiAgICAgaWYgKCFkb25lKQogICAgICAgICByZXR1cm47Ci0KLSAgICBfZmlu
ZFN0cmluZ0NvdW50ID0gbnVtRm91bmQ7Ci0gICAgaWYgKGF1dG8gZmluZENvbXBsZXRpb24gPSBz
dGQ6OmV4Y2hhbmdlKF9maW5kQ29tcGxldGlvbiwgbmlsKSkKKyAgICAKKyAgICBpZiAoYXV0byBm
aW5kQ29tcGxldGlvbiA9IHN0ZDo6ZXhjaGFuZ2UoX2ZpbmRDb21wbGV0aW9uLCBuaWwpKSB7Cisg
ICAgICAgIF9maW5kU3RyaW5nQ291bnQgPSBudW1Gb3VuZDsKICAgICAgICAgZmluZENvbXBsZXRp
b24oKTsKKyAgICB9CiB9CiAKIC0gKE5TVVJMICopX1VSTFdpdGhQYWdlSW5kZXg6KE5TSW50ZWdl
cilwYWdlSW5kZXgK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351557</attachid>
            <date>2018-10-03 16:00:07 -0700</date>
            <delta_ts>2018-10-03 16:34:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190020-20181003160007.patch</filename>
            <type>text/plain</type>
            <size>3301</size>
            <attacher name="Zamiul Haque">zhaque</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2ODExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY3ZTI3YWU5YWJkZjQ2ODNk
NTBjYjcxNjcxMDM2NDE3MjMyNDllOTEuLjFhZDM5OTI1Y2JjNTdjNWUwOTNjYTUwMTk3NzE0ZTg2
MDcyOGJiMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTgtMTAtMDMgIFphbWl1bCBI
YXF1ZSAgPHpoYXF1ZUBhcHBsZS5jb20+CisKKyAgICAgICAgU2VhcmNoIGRvZXMgbm90IGNhbmNl
bCBhZnRlciBudW1iZXIgb2YgbWF0Y2hpbmcgdGVybXMgZXhjZWVkIHNldCBtYXggbGltaXQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDAyMAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMzk1ODUyMTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW5k
eSBFc3Rlcy4KKworICAgICAgICBXaGVuIHNlYXJjaGluZyBhIFBERiBkb2N1bWVudCBvbiBNb2Jp
bGVTYWZhcmksIHRoZSBtYXhpbXVtIG51bWJlciBvZiBtYXRjaGluZworICAgICAgICB0ZXJtcyBh
cmUgbGltaXRlZCB0byBhIHNldCBjb25zdGFudC4gQmV5b25kIHRoaXMgbGltaXQsIGEgUERGIGRv
Y3VtZW50IHNob3VsZCBub3QKKyAgICAgICAgYmUgc2VhcmNoZWQsIHNpbmNlIHRoZSBVSSB3aWxs
IG5vdCBiZSB1cGRhdGVkIGNvcnJlc3BvbmRpbmdseS4gVG8gdGhpcyBlZmZlY3QsCisgICAgICAg
IGEgbmV3IFNQSSB3YXMgbWFkZSB0byBjYW5jZWwgYSBzZWFyY2ggd2hlbiB0aGUgbWF4aW11bSBs
aW1pdCBvZiBtYXRjaGluZyB0ZXJtcworICAgICAgICBpcyByZWFjaGVkLiBUaGlzIGlzIGRvbmUg
d2l0aG91dCBjbGVhcmluZyB0aGUgaGlnaGxpZ2h0aW5nIGZvciB0aGUgYWxsIHRoZSB0ZXJtcwor
ICAgICAgICB0aGF0IHdlcmUgZm91bmQgdW5kZXIgdGhlIGxpbWl0LiBUaGlzIGJ1ZyB3YXMgYSBy
ZXN1bHQgb2Ygbm90IGhhdmluZyBpbXBsZW1lbnRlZCAKKyAgICAgICAgdGhlIG5ldyBTUEkgaW4g
V0tQREZWaWV3LgorCisgICAgICAgIFRoaXMgd2lsbCBiZSB0ZXN0ZWQgaW4gYSBmb2xsb3ctdXAg
cGF0Y2gsIGFmdGVyIHJlLWVuYWJsaW5nIFdLUERGVmlldyB0ZXN0cworICAgICAgICBvbiBpT1Mg
MTIuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLUERGVmlldy5tbToKKyAgICAgICAgKC1b
V0tQREZWaWV3IHBkZkhvc3RWaWV3Q29udHJvbGxlcjpmaW5kU3RyaW5nVXBkYXRlOmRvbmU6XSk6
CisKIDIwMTgtMTAtMDMgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAg
W0NvY29hXSBSRUdSRVNTSU9OOiB3ZWIgY29udGVudCBwcm9jZXNzIHBhdXNlZCBpbiBkZWJ1Z2dl
ciBpcyBjb25zaWRlcmVkIHRvIGJlIHVucmVzcG9uc2l2ZSBpZiBXZWJLaXQgY2xpZW50IGlzIHNh
bmRib3hlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1BERktp
dFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1BERktpdFNQSS5oCmluZGV4
IDU4MzczMzM0ZGFlOWQxZWNlN2JhNjIzOWRjMDk3YjU1NGIwMTBlOGEuLjkzYjAxMDU2ODUwNTNl
NjJhZjMyZDE3ZTJmMGUzZWEwNzFhYTEzMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vc3BpL2lvcy9QREZLaXRTUEkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3Nw
aS9pb3MvUERGS2l0U1BJLmgKQEAgLTQ1LDYgKzQ1LDcgQEAKIAogLSAodm9pZCkgZmluZFN0cmlu
ZzooTlNTdHJpbmcqKSBzdHJpbmcgd2l0aE9wdGlvbnM6KE5TU3RyaW5nQ29tcGFyZU9wdGlvbnMp
IG9wdGlvbnM7CiAtICh2b2lkKSBjYW5jZWxGaW5kU3RyaW5nOworLSAodm9pZCkgY2FuY2VsRmlu
ZFN0cmluZ1dpdGhIaWdobGlnaHRzQ2xlYXJlZDooQk9PTCljbGVhcmVkOwogLSAodm9pZCkgZm9j
dXNPblNlYXJjaFJlc3VsdEF0SW5kZXg6KE5TVUludGVnZXIpIHNlYXJjaEluZGV4OwogCiAtIChO
U0ludGVnZXIpIGN1cnJlbnRQYWdlSW5kZXg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tQREZWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
UERGVmlldy5tbQppbmRleCBkZmY0YzZjYmYwMDMyZTE1NWNiY2I5MWYxM2FiZmIzZGMyMzQwMWVh
Li42ZGRkNjM1YmEyMGZmOTU4NTFkMTdjMGM2M2NhNDQ1NGVmNTlhNWFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0KQEAgLTM5MiwxNCArMzkyLDE4IEBAIC0gKHZv
aWQpcGRmSG9zdFZpZXdDb250cm9sbGVyOihQREZIb3N0Vmlld0NvbnRyb2xsZXIgKiljb250cm9s
bGVyIGRvY3VtZW50RGlkVW5sCiAKIC0gKHZvaWQpcGRmSG9zdFZpZXdDb250cm9sbGVyOihQREZI
b3N0Vmlld0NvbnRyb2xsZXIgKiljb250cm9sbGVyIGZpbmRTdHJpbmdVcGRhdGU6KE5TVUludGVn
ZXIpbnVtRm91bmQgZG9uZTooQk9PTClkb25lCiB7Ci0gICAgLy8gRklYTUU6IFdlIHNob3VsZCBz
dG9wIHNlYXJjaGluZyBvbmNlIG51bUZvdW5kIGV4Y2VlZHMgX2ZpbmRTdHJpbmdNYXhDb3VudCwg
YnV0IFBERktpdCBkb2Vzbid0Ci0gICAgLy8gYWxsb3cgdXMgdG8gc3RvcCB0aGUgc2VhcmNoIHdp
dGhvdXQgYWxzbyBjbGVhcmluZyB0aGUgc2VhcmNoIGhpZ2hsaWdodHMuIFNlZSA8cmRhcjovL3By
b2JsZW0vMzk1NDY5NzM+LgorICAgIGlmIChudW1Gb3VuZCA+IF9maW5kU3RyaW5nTWF4Q291bnQg
JiYgIWRvbmUpIHsKKyAgICAgICAgW2NvbnRyb2xsZXIgY2FuY2VsRmluZFN0cmluZ1dpdGhIaWdo
bGlnaHRzQ2xlYXJlZDpOT107CisgICAgICAgIGRvbmUgPSBZRVM7CisgICAgfQorICAgIAogICAg
IGlmICghZG9uZSkKICAgICAgICAgcmV0dXJuOwotCi0gICAgX2ZpbmRTdHJpbmdDb3VudCA9IG51
bUZvdW5kOwotICAgIGlmIChhdXRvIGZpbmRDb21wbGV0aW9uID0gc3RkOjpleGNoYW5nZShfZmlu
ZENvbXBsZXRpb24sIG5pbCkpCisgICAgCisgICAgaWYgKGF1dG8gZmluZENvbXBsZXRpb24gPSBz
dGQ6OmV4Y2hhbmdlKF9maW5kQ29tcGxldGlvbiwgbmlsKSkgeworICAgICAgICBfZmluZFN0cmlu
Z0NvdW50ID0gbnVtRm91bmQ7CiAgICAgICAgIGZpbmRDb21wbGV0aW9uKCk7CisgICAgfQogfQog
CiAtIChOU1VSTCAqKV9VUkxXaXRoUGFnZUluZGV4OihOU0ludGVnZXIpcGFnZUluZGV4Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>