<?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>50530</bug_id>
          
          <creation_ts>2010-12-04 16:41:38 -0800</creation_ts>
          <short_desc>Add text search API for counting/marking/highlighting matches in a range</short_desc>
          <delta_ts>2010-12-06 09:35:09 -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 API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.6</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>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>317322</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-12-04 16:41:38 -0800</bug_when>
    <thetext>Add text search API for counting/marking/highlighting matches in a range</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317323</commentid>
    <comment_count>1</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-12-04 16:42:55 -0800</bug_when>
    <thetext>&lt;rdar://problem/8145955&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317328</commentid>
    <comment_count>2</comment_count>
      <attachid>75621</attachid>
    <who name="">mitz</who>
    <bug_when>2010-12-04 16:55:29 -0800</bug_when>
    <thetext>Created attachment 75621
WebView API and WebCore implementation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317337</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-12-04 19:22:20 -0800</bug_when>
    <thetext>Committed r73337: &lt;http://trac.webkit.org/changeset/73337&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317672</commentid>
    <comment_count>4</comment_count>
      <attachid>75621</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-12-06 09:35:09 -0800</bug_when>
    <thetext>Comment on attachment 75621
WebView API and WebCore implementation

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

&gt; WebCore/editing/Editor.cpp:3353
&gt; +static bool isFrameInRange(Frame* frame, Range* range)

We could factor this into two functions, one that takes a document and a frame and finds the HTMLFrameOwnerElement, and a second that calls range-&gt;intersectsNode.

Not sure if the function that takes a document and a frame and finds the owner element is useful in other contexts.

&gt; WebKit/mac/WebView/WebPDFView.mm:632
&gt; +static BOOL isFrameInRange(WebFrame *frame, DOMRange *range)

If you refactored the function above the way I suggested, then you could share code here.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75621</attachid>
            <date>2010-12-04 16:55:29 -0800</date>
            <delta_ts>2010-12-06 09:35:09 -0800</delta_ts>
            <desc>WebView API and WebCore implementation</desc>
            <filename>bug-50530-20101204165527.patch</filename>
            <type>text/plain</type>
            <size>12063</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MzMzNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMTItMDQgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJD
b3JlIHBhcnQgb2YgPHJkYXI6Ly9wcm9ibGVtLzgxNDU5NTU+IEFkZCB0ZXh0IHNlYXJjaCBBUEkg
Zm9yIGNvdW50aW5nL21hcmtpbmcvaGlnaGxpZ2h0aW5nIG1hdGNoZXMgaW4gYSByYW5nZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA1MzAKKworICAg
ICAgICAqIFdlYkNvcmUuZXhwLmluOiBFeHBvcnQgUmFuZ2UgdmVyc2lvbiBvZiBjb3VudE1hdGNo
ZXNGb3JUZXh0KCkuCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6aXNGcmFtZUluUmFuZ2UpOiBBZGRlZCB0aGlzIGhlbHBlciBtZXRob2QuCisgICAgICAg
IChXZWJDb3JlOjpFZGl0b3I6OmNvdW50TWF0Y2hlc0ZvclRleHQpOiBBZGRlZCBhIFJhbmdlIHBh
cmFtZXRlciBhbmQgcmVzdHJpY3RlZCB0aGUgcmVzdWx0IHRvCisgICAgICAgIG1hdGNoZXMgdGhh
dCBvY2N1ciBpbiB0aGUgcmFuZ2UuCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuaDoKKwogMjAx
MC0xMi0wNCAgR2F2aW4gUGV0ZXJzICA8Z2F2aW5wQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA3MzMyNCkKKysrIFdl
YkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTY3Niw3ICs2NzYsNyBAQCBf
X1pON1dlYkNvcmU2RWRpdG9yMTZwYXN0ZUFzUGxhaW5UZXh0RXYKIF9fWk43V2ViQ29yZTZFZGl0
b3IxN2luc2VydE9yZGVyZWRMaXN0RXYKIF9fWk43V2ViQ29yZTZFZGl0b3IxOGNvbmZpcm1Db21w
b3NpdGlvbkVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTZFZGl0b3IxOGNvbmZpcm1Db21w
b3NpdGlvbkV2Ci1fX1pON1dlYkNvcmU2RWRpdG9yMTljb3VudE1hdGNoZXNGb3JUZXh0RVJLTjNX
VEY2U3RyaW5nRWpqYgorX19aTjdXZWJDb3JlNkVkaXRvcjE5Y291bnRNYXRjaGVzRm9yVGV4dEVS
S04zV1RGNlN0cmluZ0VQTlNfNVJhbmdlRWpqYgogX19aTjdXZWJDb3JlNkVkaXRvcjE5ZGVsZXRl
V2l0aERpcmVjdGlvbkVOU18xOVNlbGVjdGlvbkNvbnRyb2xsZXIxMEVEaXJlY3Rpb25FTlNfMTVU
ZXh0R3JhbnVsYXJpdHlFYmIKIF9fWk43V2ViQ29yZTZFZGl0b3IxOWluc2VydFVub3JkZXJlZExp
c3RFdgogX19aTjdXZWJDb3JlNkVkaXRvcjIxYXBwbHlTdHlsZVRvU2VsZWN0aW9uRVBOU18xOUNT
U1N0eWxlRGVjbGFyYXRpb25FTlNfMTBFZGl0QWN0aW9uRQpJbmRleDogV2ViQ29yZS9lZGl0aW5n
L0VkaXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHJl
dmlzaW9uIDczMzI0KQorKysgV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1l
VHJlZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkhUTUxGcmFtZU93bmVy
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1M
VGV4dEFyZWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgpAQCAtMzM0OSwx
MiArMzM1MCw0MCBAQCBib29sIEVkaXRvcjo6ZmluZFN0cmluZyhjb25zdCBTdHJpbmcmIHRhCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBib29sIGlzRnJhbWVJblJhbmdlKEZyYW1lKiBm
cmFtZSwgUmFuZ2UqIHJhbmdlKQoreworICAgIGJvb2wgaW5SYW5nZSA9IGZhbHNlOworICAgIGZv
ciAoSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQgPSBmcmFtZS0+b3duZXJFbGVt
ZW50KCk7IG93bmVyRWxlbWVudDsgb3duZXJFbGVtZW50ID0gb3duZXJFbGVtZW50LT5kb2N1bWVu
dCgpLT5vd25lckVsZW1lbnQoKSkgeworICAgICAgICBpZiAob3duZXJFbGVtZW50LT5kb2N1bWVu
dCgpID09IHJhbmdlLT5vd25lckRvY3VtZW50KCkpIHsKKyAgICAgICAgICAgIEV4Y2VwdGlvbkNv
ZGUgZWMgPSAwOworICAgICAgICAgICAgaW5SYW5nZSA9IHJhbmdlLT5pbnRlcnNlY3RzTm9kZShv
d25lckVsZW1lbnQsIGVjKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQor
ICAgIHJldHVybiBpblJhbmdlOworfQorCiB1bnNpZ25lZCBFZGl0b3I6OmNvdW50TWF0Y2hlc0Zv
clRleHQoY29uc3QgU3RyaW5nJiB0YXJnZXQsIEZpbmRPcHRpb25zIG9wdGlvbnMsIHVuc2lnbmVk
IGxpbWl0LCBib29sIG1hcmtNYXRjaGVzKQogeworICAgIHJldHVybiBjb3VudE1hdGNoZXNGb3JU
ZXh0KHRhcmdldCwgMCwgb3B0aW9ucywgbGltaXQsIG1hcmtNYXRjaGVzKTsKK30KKwordW5zaWdu
ZWQgRWRpdG9yOjpjb3VudE1hdGNoZXNGb3JUZXh0KGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBSYW5n
ZSogcmFuZ2UsIEZpbmRPcHRpb25zIG9wdGlvbnMsIHVuc2lnbmVkIGxpbWl0LCBib29sIG1hcmtN
YXRjaGVzKQorewogICAgIGlmICh0YXJnZXQuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gMDsK
IAotICAgIFJlZlB0cjxSYW5nZT4gc2VhcmNoUmFuZ2UocmFuZ2VPZkNvbnRlbnRzKG1fZnJhbWUt
PmRvY3VtZW50KCkpKTsKKyAgICBSZWZQdHI8UmFuZ2U+IG9yaWdpbmFsU2VhcmNoUmFuZ2U7Cisg
ICAgaWYgKHJhbmdlKSB7CisgICAgICAgIGlmIChyYW5nZS0+b3duZXJEb2N1bWVudCgpID09IG1f
ZnJhbWUtPmRvY3VtZW50KCkpCisgICAgICAgICAgICBvcmlnaW5hbFNlYXJjaFJhbmdlID0gcmFu
Z2U7CisgICAgICAgIGVsc2UgaWYgKCFpc0ZyYW1lSW5SYW5nZShtX2ZyYW1lLCByYW5nZSkpCisg
ICAgICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgaWYgKCFvcmlnaW5hbFNlYXJjaFJhbmdl
KQorICAgICAgICBvcmlnaW5hbFNlYXJjaFJhbmdlID0gcmFuZ2VPZkNvbnRlbnRzKG1fZnJhbWUt
PmRvY3VtZW50KCkpOworCisgICAgUmVmUHRyPFJhbmdlPiBzZWFyY2hSYW5nZShvcmlnaW5hbFNl
YXJjaFJhbmdlKTsKIAogICAgIEV4Y2VwdGlvbkNvZGUgZXhjZXB0aW9uID0gMDsKICAgICB1bnNp
Z25lZCBtYXRjaENvdW50ID0gMDsKQEAgLTMzNjQsNyArMzM5Myw3IEBAIHVuc2lnbmVkIEVkaXRv
cjo6Y291bnRNYXRjaGVzRm9yVGV4dChjb24KICAgICAgICAgICAgIGlmICghcmVzdWx0UmFuZ2Ut
PnN0YXJ0Q29udGFpbmVyKCktPmlzSW5TaGFkb3dUcmVlKCkpCiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAKLSAgICAgICAgICAgIHNlYXJjaFJhbmdlID0gcmFuZ2VPZkNvbnRlbnRzKG1fZnJhbWUt
PmRvY3VtZW50KCkpOworICAgICAgICAgICAgc2VhcmNoUmFuZ2UgPSBvcmlnaW5hbFNlYXJjaFJh
bmdlOwogICAgICAgICAgICAgc2VhcmNoUmFuZ2UtPnNldFN0YXJ0QWZ0ZXIocmVzdWx0UmFuZ2Ut
PnN0YXJ0Q29udGFpbmVyKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpLCBleGNlcHRpb24pOwogICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9FZGl0
b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgJKHJldmlzaW9uIDcz
MzI0KQorKysgV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNDgs
NiArMzQ4LDcgQEAgcHVibGljOgogICAgIFJlbmRlclN0eWxlKiBzdHlsZUZvclNlbGVjdGlvblN0
YXJ0KE5vZGUqJiBub2RlVG9SZW1vdmUpIGNvbnN0OwogCiAgICAgdW5zaWduZWQgY291bnRNYXRj
aGVzRm9yVGV4dChjb25zdCBTdHJpbmcmLCBGaW5kT3B0aW9ucywgdW5zaWduZWQgbGltaXQsIGJv
b2wgbWFya01hdGNoZXMpOworICAgIHVuc2lnbmVkIGNvdW50TWF0Y2hlc0ZvclRleHQoY29uc3Qg
U3RyaW5nJiwgUmFuZ2UqLCBGaW5kT3B0aW9ucywgdW5zaWduZWQgbGltaXQsIGJvb2wgbWFya01h
dGNoZXMpOwogICAgIGJvb2wgbWFya2VkVGV4dE1hdGNoZXNBcmVIaWdobGlnaHRlZCgpIGNvbnN0
OwogICAgIHZvaWQgc2V0TWFya2VkVGV4dE1hdGNoZXNBcmVIaWdobGlnaHRlZChib29sKTsKIApJ
bmRleDogV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDczMzM2KQorKysgV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwyNCBAQAorMjAxMC0xMi0wNCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpA
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdlYktpdCBwYXJ0IG9mIDxyZGFyOi8vcHJvYmxlbS84MTQ1OTU1PiBBZGQgdGV4dCBzZWFy
Y2ggQVBJIGZvciBjb3VudGluZy9tYXJraW5nL2hpZ2hsaWdodGluZyBtYXRjaGVzIGluIGEgcmFu
Z2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwNTMw
CisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkRvY3VtZW50SW50ZXJuYWwuaDogQWRkZWQgYSBET01S
YW5nZSBwYXJhbWV0ZXIgdG8gLWNvdW50TWF0Y2hlc0ZvclRleHQ6b3B0aW9uczpsaW1pdDptYXJr
TWF0Y2hlczoKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAoLVtX
ZWJIVE1MVmlldyBjb3VudE1hdGNoZXNGb3JUZXh0OmluRE9NUmFuZ2U6b3B0aW9uczpsaW1pdDpt
YXJrTWF0Y2hlczpdKTogQWRkZWQgRE9NUmFuZ2UgcGFyYW1ldGVyLAorICAgICAgICB3aGljaCBp
cyBwYXNzZWQgdGhyb3VnaCB0byBXZWJDb3JlLgorICAgICAgICAqIFdlYlZpZXcvV2ViUERGVmll
dy5tbToKKyAgICAgICAgKGlzRnJhbWVJblJhbmdlKTogQWRkZWQgdGhpcyBoZWxwZXIgZnVuY3Rp
b24uCisgICAgICAgICgtW1dlYlBERlZpZXcgY291bnRNYXRjaGVzRm9yVGV4dDppbkRPTVJhbmdl
Om9wdGlvbnM6bGltaXQ6bWFya01hdGNoZXM6XSk6IEFkZGVkIERPTVJhbmdlIHBhcmFtZXRlciBh
bmQKKyAgICAgICAgYSBjaGVjayBpZiB0aGUgZnJhbWUgaXMgaW4gdGhlIHJhbmdlLgorICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBjb3VudE1hdGNoZXNG
b3JUZXh0Om9wdGlvbnM6aGlnaGxpZ2h0OmxpbWl0Om1hcmtNYXRjaGVzOl0pOiBOb3cgY2FsbHMg
dGhlIGluRE9NUmFuZ2U6IHZlcnNpb24uCisgICAgICAgICgtW1dlYlZpZXcgY291bnRNYXRjaGVz
Rm9yVGV4dDppbkRPTVJhbmdlOm9wdGlvbnM6aGlnaGxpZ2h0OmxpbWl0Om1hcmtNYXRjaGVzOl0p
OiBBZGRlZCBET01SYW5nZQorICAgICAgICBwYXJhbWV0ZXIsIHdoaWNoIGlzIHBhc3NlZCB0byBk
b2N1bWVudCB2aWV3cycgLWNvdW50TWF0Y2hlc0ZvclRleHQ6aW5ET01SYW5nZTpvcHRpb25zOmxp
bWl0Om1hcmtNYXRjaGVzOi4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdQcml2YXRlLmg6CisK
IDIwMTAtMTItMDMgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBNYWNpZWogU3RhY2hvd2lhay4KSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9XZWJE
b2N1bWVudEludGVybmFsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJWaWV3L1dlYkRv
Y3VtZW50SW50ZXJuYWwuaAkocmV2aXNpb24gNzMzMjQpCisrKyBXZWJLaXQvbWFjL1dlYlZpZXcv
V2ViRG9jdW1lbnRJbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC02Miw3ICs2Miw3IEBACiBA
cHJvdG9jb2wgV2ViTXVsdGlwbGVUZXh0TWF0Y2hlcyA8TlNPYmplY3Q+CiAtICh2b2lkKXNldE1h
cmtlZFRleHRNYXRjaGVzQXJlSGlnaGxpZ2h0ZWQ6KEJPT0wpbmV3VmFsdWU7CiAtIChCT09MKW1h
cmtlZFRleHRNYXRjaGVzQXJlSGlnaGxpZ2h0ZWQ7Ci0tIChXZWJOU1VJbnRlZ2VyKWNvdW50TWF0
Y2hlc0ZvclRleHQ6KE5TU3RyaW5nICopc3RyaW5nIG9wdGlvbnM6KFdlYkZpbmRPcHRpb25zKW9w
dGlvbnMgbGltaXQ6KFdlYk5TVUludGVnZXIpbGltaXQgbWFya01hdGNoZXM6KEJPT0wpbWFya01h
dGNoZXM7CistIChXZWJOU1VJbnRlZ2VyKWNvdW50TWF0Y2hlc0ZvclRleHQ6KE5TU3RyaW5nICop
c3RyaW5nIGluRE9NUmFuZ2U6KERPTVJhbmdlICopcmFuZ2Ugb3B0aW9uczooV2ViRmluZE9wdGlv
bnMpb3B0aW9ucyBsaW1pdDooV2ViTlNVSW50ZWdlcilsaW1pdCBtYXJrTWF0Y2hlczooQk9PTClt
YXJrTWF0Y2hlczsKIC0gKHZvaWQpdW5tYXJrQWxsVGV4dE1hdGNoZXM7CiAtIChOU0FycmF5ICop
cmVjdHNGb3JUZXh0TWF0Y2hlczsKIEBlbmQKSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9XZWJI
VE1MVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcu
bW0JKHJldmlzaW9uIDczMzI0KQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1t
CSh3b3JraW5nIGNvcHkpCkBAIC02MjI4LDEyICs2MjI4LDEzIEBAIC0gKE5TRGljdGlvbmFyeSAq
KWVsZW1lbnRBdFBvaW50OihOU1BvaW4KICAgICByZXR1cm4gW1tbV2ViRWxlbWVudERpY3Rpb25h
cnkgYWxsb2NdIGluaXRXaXRoSGl0VGVzdFJlc3VsdDpjb3JlRnJhbWUtPmV2ZW50SGFuZGxlcigp
LT5oaXRUZXN0UmVzdWx0QXRQb2ludChJbnRQb2ludChwb2ludCksIGFsbG93KV0gYXV0b3JlbGVh
c2VdOwogfQogCi0tIChOU1VJbnRlZ2VyKWNvdW50TWF0Y2hlc0ZvclRleHQ6KE5TU3RyaW5nICop
c3RyaW5nIG9wdGlvbnM6KFdlYkZpbmRPcHRpb25zKW9wdGlvbnMgbGltaXQ6KE5TVUludGVnZXIp
bGltaXQgbWFya01hdGNoZXM6KEJPT0wpbWFya01hdGNoZXMKKy0gKE5TVUludGVnZXIpY291bnRN
YXRjaGVzRm9yVGV4dDooTlNTdHJpbmcgKilzdHJpbmcgaW5ET01SYW5nZTooRE9NUmFuZ2UgKily
YW5nZSBvcHRpb25zOihXZWJGaW5kT3B0aW9ucylvcHRpb25zIGxpbWl0OihOU1VJbnRlZ2VyKWxp
bWl0IG1hcmtNYXRjaGVzOihCT09MKW1hcmtNYXRjaGVzCiB7CiAgICAgRnJhbWUqIGNvcmVGcmFt
ZSA9IGNvcmUoW3NlbGYgX2ZyYW1lXSk7CiAgICAgaWYgKCFjb3JlRnJhbWUpCiAgICAgICAgIHJl
dHVybiAwOwotICAgIHJldHVybiBjb3JlRnJhbWUtPmVkaXRvcigpLT5jb3VudE1hdGNoZXNGb3JU
ZXh0KHN0cmluZywgY29yZU9wdGlvbnMob3B0aW9ucyksIGxpbWl0LCBtYXJrTWF0Y2hlcyk7CisK
KyAgICByZXR1cm4gY29yZUZyYW1lLT5lZGl0b3IoKS0+Y291bnRNYXRjaGVzRm9yVGV4dChzdHJp
bmcsIGNvcmUocmFuZ2UpLCBjb3JlT3B0aW9ucyhvcHRpb25zKSwgbGltaXQsIG1hcmtNYXRjaGVz
KTsKIH0KIAogLSAodm9pZClzZXRNYXJrZWRUZXh0TWF0Y2hlc0FyZUhpZ2hsaWdodGVkOihCT09M
KW5ld1ZhbHVlCkluZGV4OiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUERGVmlldy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUERGVmlldy5tbQkocmV2aXNpb24gNzMzMjQp
CisrKyBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUERGVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MjgsNiArMjgsOCBAQAogCiAjaW1wb3J0ICJXZWJQREZWaWV3LmgiCiAKKyNpbXBvcnQgIkRPTU5v
ZGVJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NUmFuZ2VJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2Vi
RGF0YVNvdXJjZUludGVybmFsLmgiCiAjaW1wb3J0ICJXZWJEZWxlZ2F0ZUltcGxlbWVudGF0aW9u
Q2FjaGluZy5oIgogI2ltcG9ydCAiV2ViRG9jdW1lbnRJbnRlcm5hbC5oIgpAQCAtNTMsNiArNTUs
NyBAQAogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZUxvYWRSZXF1ZXN0Lmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0ZyYW1lTG9hZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxGb3JtRWxlbWVudC5oPgor
I2ltcG9ydCA8V2ViQ29yZS9IVE1MRnJhbWVPd25lckVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNv
cmUvS1VSTC5oPgogI2ltcG9ydCA8V2ViQ29yZS9LZXlib2FyZEV2ZW50Lmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL01vdXNlRXZlbnQuaD4KQEAgLTYyNiw4ICs2MjksMjMgQEAgLSAoQk9PTCltYXJrZWRU
ZXh0TWF0Y2hlc0FyZUhpZ2hsaWdodGVkCiAgICAgcmV0dXJuIE5POwogfQogCi0tIChOU1VJbnRl
Z2VyKWNvdW50TWF0Y2hlc0ZvclRleHQ6KE5TU3RyaW5nICopc3RyaW5nIG9wdGlvbnM6KFdlYkZp
bmRPcHRpb25zKW9wdGlvbnMgbGltaXQ6KE5TVUludGVnZXIpbGltaXQgbWFya01hdGNoZXM6KEJP
T0wpbWFya01hdGNoZXMKK3N0YXRpYyBCT09MIGlzRnJhbWVJblJhbmdlKFdlYkZyYW1lICpmcmFt
ZSwgRE9NUmFuZ2UgKnJhbmdlKQogeworICAgIEJPT0wgaW5SYW5nZSA9IE5POworICAgIGZvciAo
SFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQgPSBjb3JlKGZyYW1lKS0+b3duZXJF
bGVtZW50KCk7IG93bmVyRWxlbWVudDsgb3duZXJFbGVtZW50ID0gb3duZXJFbGVtZW50LT5kb2N1
bWVudCgpLT5mcmFtZSgpLT5vd25lckVsZW1lbnQoKSkgeworICAgICAgICBpZiAob3duZXJFbGVt
ZW50LT5kb2N1bWVudCgpID09IGNvcmUocmFuZ2UpLT5vd25lckRvY3VtZW50KCkpIHsKKyAgICAg
ICAgICAgIGluUmFuZ2UgPSBbcmFuZ2UgaW50ZXJzZWN0c05vZGU6a2l0KG93bmVyRWxlbWVudCld
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIGluUmFu
Z2U7Cit9CisKKy0gKE5TVUludGVnZXIpY291bnRNYXRjaGVzRm9yVGV4dDooTlNTdHJpbmcgKilz
dHJpbmcgaW5ET01SYW5nZTooRE9NUmFuZ2UgKilyYW5nZSBvcHRpb25zOihXZWJGaW5kT3B0aW9u
cylvcHRpb25zIGxpbWl0OihOU1VJbnRlZ2VyKWxpbWl0IG1hcmtNYXRjaGVzOihCT09MKW1hcmtN
YXRjaGVzCit7CisgICAgaWYgKHJhbmdlICYmICFpc0ZyYW1lSW5SYW5nZShbZGF0YVNvdXJjZSB3
ZWJGcmFtZV0sIHJhbmdlKSkKKyAgICAgICAgcmV0dXJuIDA7CisKICAgICBQREZTZWxlY3Rpb24g
KnByZXZpb3VzTWF0Y2ggPSBuaWw7CiAgICAgTlNNdXRhYmxlQXJyYXkgKm1hdGNoZXMgPSBbW05T
TXV0YWJsZUFycmF5IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5OmxpbWl0XTsKICAgICAKSW5kZXg6
IFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiA3MzMyNCkKKysrIFdlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC00NTE4LDYgKzQ1MTgsMTEgQEAgLSAoQk9P
TCljYW5NYXJrQWxsVGV4dE1hdGNoZXMKIAogLSAoTlNVSW50ZWdlciljb3VudE1hdGNoZXNGb3JU
ZXh0OihOU1N0cmluZyAqKXN0cmluZyBvcHRpb25zOihXZWJGaW5kT3B0aW9ucylvcHRpb25zIGhp
Z2hsaWdodDooQk9PTCloaWdobGlnaHQgbGltaXQ6KE5TVUludGVnZXIpbGltaXQgbWFya01hdGNo
ZXM6KEJPT0wpbWFya01hdGNoZXMKIHsKKyAgICByZXR1cm4gW3NlbGYgY291bnRNYXRjaGVzRm9y
VGV4dDpzdHJpbmcgaW5ET01SYW5nZTpuaWwgb3B0aW9uczpvcHRpb25zIGhpZ2hsaWdodDpoaWdo
bGlnaHQgbGltaXQ6bGltaXQgbWFya01hdGNoZXM6bWFya01hdGNoZXNdOworfQorCistIChOU1VJ
bnRlZ2VyKWNvdW50TWF0Y2hlc0ZvclRleHQ6KE5TU3RyaW5nICopc3RyaW5nIGluRE9NUmFuZ2U6
KERPTVJhbmdlICopcmFuZ2Ugb3B0aW9uczooV2ViRmluZE9wdGlvbnMpb3B0aW9ucyBoaWdobGln
aHQ6KEJPT0wpaGlnaGxpZ2h0IGxpbWl0OihOU1VJbnRlZ2VyKWxpbWl0IG1hcmtNYXRjaGVzOihC
T09MKW1hcmtNYXRjaGVzCit7CiAgICAgaWYgKF9wcml2YXRlLT5jbG9zZWQpCiAgICAgICAgIHJl
dHVybiAwOwogCkBAIC00NTMwLDcgKzQ1MzUsNyBAQCAtIChOU1VJbnRlZ2VyKWNvdW50TWF0Y2hl
c0ZvclRleHQ6KE5TU3RyCiAgICAgICAgICAgICAgICAgWyhOU1ZpZXcgPFdlYk11bHRpcGxlVGV4
dE1hdGNoZXM+Kil2aWV3IHNldE1hcmtlZFRleHRNYXRjaGVzQXJlSGlnaGxpZ2h0ZWQ6aGlnaGxp
Z2h0XTsKICAgICAgICAgCiAgICAgICAgICAgICBBU1NFUlQobGltaXQgPT0gMCB8fCBtYXRjaENv
dW50IDwgbGltaXQpOwotICAgICAgICAgICAgbWF0Y2hDb3VudCArPSBbKE5TVmlldyA8V2ViTXVs
dGlwbGVUZXh0TWF0Y2hlcz4qKXZpZXcgY291bnRNYXRjaGVzRm9yVGV4dDpzdHJpbmcgb3B0aW9u
czpvcHRpb25zIGxpbWl0OihsaW1pdCA9PSAwID8gMCA6IGxpbWl0IC0gbWF0Y2hDb3VudCkgbWFy
a01hdGNoZXM6bWFya01hdGNoZXNdOworICAgICAgICAgICAgbWF0Y2hDb3VudCArPSBbKE5TVmll
dyA8V2ViTXVsdGlwbGVUZXh0TWF0Y2hlcz4qKXZpZXcgY291bnRNYXRjaGVzRm9yVGV4dDpzdHJp
bmcgaW5ET01SYW5nZTpyYW5nZSBvcHRpb25zOm9wdGlvbnMgbGltaXQ6KGxpbWl0ID09IDAgPyAw
IDogbGltaXQgLSBtYXRjaENvdW50KSBtYXJrTWF0Y2hlczptYXJrTWF0Y2hlc107CiAKICAgICAg
ICAgICAgIC8vIFN0b3AgbG9va2luZyBpZiB3ZSd2ZSByZWFjaGVkIHRoZSBsaW1pdC4gQSBsaW1p
dCBvZiAwIG1lYW5zIG5vIGxpbWl0LgogICAgICAgICAgICAgaWYgKGxpbWl0ID4gMCAmJiBtYXRj
aENvdW50ID49IGxpbWl0KQpJbmRleDogV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgJKHJl
dmlzaW9uIDczMzI0KQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTE4Miw2ICsxODIsNyBAQCBAaW50ZXJmYWNlIFdlYlZpZXcgKFdlYlBl
bmRpbmdQdWJsaWMpCiAvLyBUaGVzZSBtZXRob2RzIGFyZSBzdGlsbCBpbiBmbHV4OyBkb24ndCBy
ZWx5IG9uIHRoZW0geWV0LgogLSAoQk9PTCljYW5NYXJrQWxsVGV4dE1hdGNoZXM7CiAtIChXZWJO
U1VJbnRlZ2VyKWNvdW50TWF0Y2hlc0ZvclRleHQ6KE5TU3RyaW5nICopc3RyaW5nIG9wdGlvbnM6
KFdlYkZpbmRPcHRpb25zKW9wdGlvbnMgaGlnaGxpZ2h0OihCT09MKWhpZ2hsaWdodCBsaW1pdDoo
V2ViTlNVSW50ZWdlcilsaW1pdCBtYXJrTWF0Y2hlczooQk9PTCltYXJrTWF0Y2hlczsKKy0gKFdl
Yk5TVUludGVnZXIpY291bnRNYXRjaGVzRm9yVGV4dDooTlNTdHJpbmcgKilzdHJpbmcgaW5ET01S
YW5nZTooRE9NUmFuZ2UgKilyYW5nZSBvcHRpb25zOihXZWJGaW5kT3B0aW9ucylvcHRpb25zIGhp
Z2hsaWdodDooQk9PTCloaWdobGlnaHQgbGltaXQ6KFdlYk5TVUludGVnZXIpbGltaXQgbWFya01h
dGNoZXM6KEJPT0wpbWFya01hdGNoZXM7CiAtICh2b2lkKXVubWFya0FsbFRleHRNYXRjaGVzOwog
LSAoTlNBcnJheSAqKXJlY3RzRm9yVGV4dE1hdGNoZXM7CiAK
</data>
<flag name="review"
          id="66452"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>