<?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>50419</bug_id>
          
          <creation_ts>2010-12-02 16:31:23 -0800</creation_ts>
          <short_desc>[Qt] QWebPage sends out a RequestSoftwareInputPanel event incorrectly in particular case</short_desc>
          <delta_ts>2011-01-24 13:13:46 -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 Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yi Shen">max.hong.shen</reporter>
          <assigned_to name="Yi Shen">max.hong.shen</assigned_to>
          <cc>ademar</cc>
    
    <cc>commit-queue</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>kling</cc>
    
    <cc>robert</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>316501</commentid>
    <comment_count>0</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-12-02 16:31:23 -0800</bug_when>
    <thetext>For a page like,
&lt;input type=&apos;text&apos; id=&apos;input&apos;/&gt;
&lt;div onclick=&quot;i=document.getElementById(&apos;input&apos;); i.focus();&quot;&gt;abc&lt;/div&gt;

If user click on the div, the javascript sets the focus on the text input field. Then QWebPage sends out a RequestSoftwareInputPanel event, which invokes a VKB on symbian device.

void QWebPagePrivate::mouseReleaseEvent(T *ev) {
    ... ...
    if (mev.button() != NoButton)
        accepted = frame-&gt;eventHandler()-&gt;handleMouseReleaseEvent(mev); // set focus on the text input field which enable the inputmethod
    ... ...
    handleSoftwareInputPanel(ev-&gt;button()); // emit RequestSoftwareInputPanel event since the inputmethod has been enabled
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316507</commentid>
    <comment_count>1</comment_count>
      <attachid>75429</attachid>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-12-02 16:40:35 -0800</bug_when>
    <thetext>Created attachment 75429
Add HitTestResult check before firing the RequestSoftwareInputPanel event</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316556</commentid>
    <comment_count>2</comment_count>
      <attachid>75429</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-02 17:29:51 -0800</bug_when>
    <thetext>Comment on attachment 75429
Add HitTestResult check before firing the RequestSoftwareInputPanel event

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

&gt; WebKit/qt/tests/qwebpage/tst_qwebpage.cpp:2022
&gt; +        QMouseEvent evpres(QEvent::MouseButtonPress, inputElement.geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
&gt; +        page-&gt;event(&amp;evpres);
&gt; +        QMouseEvent evrel(QEvent::MouseButtonRelease, inputElement.geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
&gt; +        page-&gt;event(&amp;evrel);

Seems the testing infrastructure should have some helper methods for doing clicks like this.  This is insanely verbose. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319958</commentid>
    <comment_count>3</comment_count>
      <attachid>75429</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-09 23:39:21 -0800</bug_when>
    <thetext>Comment on attachment 75429
Add HitTestResult check before firing the RequestSoftwareInputPanel event

r- for insane verbosity.  Please add a helper method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320114</commentid>
    <comment_count>4</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-12-10 06:29:50 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 75429 [details])
&gt; r- for insane verbosity.  Please add a helper method.
Thanks for reviewing, eric :) I was wondering whether I should add the helper method in the patch. Do I need to make a new bug for adding the helper method, which can service all the qt api tests under the webkit/qt/tests folder?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320551</commentid>
    <comment_count>5</comment_count>
      <attachid>76289</attachid>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-12-10 19:30:38 -0800</bug_when>
    <thetext>Created attachment 76289
add help function for testing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323186</commentid>
    <comment_count>6</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-12-16 08:27:40 -0800</bug_when>
    <thetext>Kenneth is our new expert on Input Method stuff, CC&apos;ing him. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323193</commentid>
    <comment_count>7</comment_count>
      <attachid>76289</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-12-16 08:36:20 -0800</bug_when>
    <thetext>Comment on attachment 76289
add help function for testing

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

&gt; WebKit/qt/Api/qwebpage.cpp:762
&gt; +    handleSoftwareInputPanel(ev-&gt;button(), QPointF(ev-&gt;pos()).toPoint());

I think this should be the point where the mouse was pressed, not released. You can click, hold and select text and then release and it should popup with a selection.

Probably needs a comment for that. Anyway, I guess instead of doing a hit test what you want to do is to check if the selection (caret or range) is editable. You should look at the inputMethodQuery methods. Something like frame-&gt;selection()-&gt;isContentEditable().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323286</commentid>
    <comment_count>8</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-12-16 10:56:28 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 76289 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=76289&amp;action=review
&gt; 
&gt; &gt; WebKit/qt/Api/qwebpage.cpp:762
&gt; &gt; +    handleSoftwareInputPanel(ev-&gt;button(), QPointF(ev-&gt;pos()).toPoint());
&gt; 
&gt; I think this should be the point where the mouse was pressed, not released. You can click, hold and select text and then release and it should popup with a selection.
&gt; 
&gt; Probably needs a comment for that. Anyway, I guess instead of doing a hit test what you want to do is to check if the selection (caret or range) is editable. You should look at the inputMethodQuery methods. Something like frame-&gt;selection()-&gt;isContentEditable().

Thanks Kenneth. For following page, 
&lt;input type=&apos;text&apos; id=&apos;input&apos;/&gt;
&lt;div onclick=&quot;i=document.getElementById(&apos;input&apos;);i.focus(); i.select();&quot;&gt;abc&lt;/div&gt;

The VKB still pops up when user click on the div, if we only check the frame-&gt;selection()-&gt;isContentEditable(), right? Correct me if I am wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323383</commentid>
    <comment_count>9</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-12-16 13:34:41 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 76289 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=76289&amp;action=review
&gt; 
&gt; &gt; WebKit/qt/Api/qwebpage.cpp:762
&gt; &gt; +    handleSoftwareInputPanel(ev-&gt;button(), QPointF(ev-&gt;pos()).toPoint());
&gt; 
&gt; I think this should be the point where the mouse was pressed, not released. You can click, hold and select text and then release and it should popup with a selection.
&gt; 
&gt; Probably needs a comment for that. Anyway, I guess instead of doing a hit test what you want to do is to check if the selection (caret or range) is editable. You should look at the inputMethodQuery methods. Something like frame-&gt;selection()-&gt;isContentEditable().

Kenneth, I just tried to use frame-&gt;selection()-&gt;isContentEditable() to determine whether or not send requestsoftwareinputpanel event, but it failed my test case. See my changed code below,
void QWebPagePrivate::handleSoftwareInputPanel(...) {
...
    if (frame-&gt;selection()-&gt;isContentEditable()) {
                QEvent event(QEvent::RequestSoftwareInputPanel);
                QApplication::sendEvent(client-&gt;ownerWidget(), &amp;event);
            }
}

But I am agree with you about using the mouse press position, instead of release position (This is how iphone safari does). I think we should have a separated bug for that since it may involve more discussion, e.g. platform behavior.

For this bug, let&apos;s just focus on fixing this particular issue :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323389</commentid>
    <comment_count>10</comment_count>
      <attachid>76289</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-16 13:42:32 -0800</bug_when>
    <thetext>Comment on attachment 76289
add help function for testing

Rejecting attachment 76289 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-3&apos;, &apos;apply-attachment&apos;, &apos;--non-interactive&apos;, 76289]&quot; exit_code: 2
Last 500 characters of output:
ailed to merge in the changes.
Patch failed at 0001 2010-12-16  Yury Semikhatsky  &lt;yurys@chromium.org&gt;

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at WebKitTools/Scripts/update-webkit line 132.

Failed to run &quot;[&apos;WebKitTools/Scripts/update-webkit&apos;]&quot; exit_code: 2

Full output: http://queues.webkit.org/results/7115064</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323423</commentid>
    <comment_count>11</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-12-16 14:18:29 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 76289 [details])
&gt; Rejecting attachment 76289 [details] from commit-queue.
&gt; 
&gt; Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-3&apos;, &apos;apply-attachment&apos;, &apos;--non-interactive&apos;, 76289]&quot; exit_code: 2
&gt; Last 500 characters of output:
&gt; ailed to merge in the changes.
&gt; Patch failed at 0001 2010-12-16  Yury Semikhatsky  &lt;yurys@chromium.org&gt;
&gt; 
&gt; When you have resolved this problem run &quot;git rebase --continue&quot;.
&gt; If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
&gt; To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.
&gt; 
&gt; rebase refs/remotes/origin/master: command returned error: 1
&gt; 
&gt; Died at WebKitTools/Scripts/update-webkit line 132.
&gt; 
&gt; Failed to run &quot;[&apos;WebKitTools/Scripts/update-webkit&apos;]&quot; exit_code: 2
&gt; 
&gt; Full output: http://queues.webkit.org/results/7115064

Kenneth, is this a buildbot issue? I have another patch got the same error output...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323432</commentid>
    <comment_count>12</comment_count>
      <attachid>76289</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-16 14:34:36 -0800</bug_when>
    <thetext>Comment on attachment 76289
add help function for testing

The git repo on one of the commit-queues got corrupted.  I&apos;mf ixing it now.  Sorry for the noise!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323573</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-16 19:21:25 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 76289:

fast/loader/recursive-before-unload-crash.html bug 50880 (authors: beidson@apple.com and eric@webkit.org)
fast/preloader/script.html bug 50879 (author: abarth@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323615</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-16 22:56:34 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 76289:

editing/selection/caret-mode-paragraph-keys-navigation.html bug 51234 (author: tonikitoo@webkit.org)
compositing/reflections/animation-inside-reflection.html bug 50875 (author: simon.fraser@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323656</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-17 01:26:29 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 76289:

fast/images/load-img-with-empty-src.html bug 50855 (author: mitz@webkit.org)
http/tests/misc/redirect.php bug 51238 (author: mjs@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323680</commentid>
    <comment_count>16</comment_count>
      <attachid>76289</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-17 02:51:48 -0800</bug_when>
    <thetext>Comment on attachment 76289
add help function for testing

Clearing flags on attachment: 76289

Committed r74243: &lt;http://trac.webkit.org/changeset/74243&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323681</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-17 02:51:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339217</commentid>
    <comment_count>18</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-01-24 13:13:38 -0800</bug_when>
    <thetext>Revision r74243 cherry-picked into qtwebkit-2.2 with commit 01fd783 &lt;http://gitorious.org/webkit/qtwebkit/commit/01fd783&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75429</attachid>
            <date>2010-12-02 16:40:35 -0800</date>
            <delta_ts>2010-12-10 19:30:38 -0800</delta_ts>
            <desc>Add HitTestResult check before firing the RequestSoftwareInputPanel event</desc>
            <filename>50419.patch</filename>
            <type>text/plain</type>
            <size>4280</size>
            <attacher name="Yi Shen">max.hong.shen</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNzMyMTMpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMTItMDIgIFlpIFNoZW4gIDx5aS40LnNoZW5Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtRdF0gUVdlYlBhZ2Ugc2VuZHMgb3V0IGEgUmVxdWVzdFNvZnR3YXJlSW5wdXRQYW5lbCBldmVu
dCAKKyAgICAgICAgaW5jb3JyZWN0bHkgaW4gcGFydGljdWxhciBjYXNlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDQxOQorCisgICAgICAgIEFkZCBI
aXRUZXN0UmVzdWx0IGNoZWNrIGJlZm9yZSBmaXJpbmcgdGhlIFJlcXVlc3RTb2Z0d2FyZUlucHV0
UGFuZWwgZXZlbnQuCisKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAoUVdl
YlBhZ2VQcml2YXRlOjptb3VzZVJlbGVhc2VFdmVudCk6CisgICAgICAgIChRV2ViUGFnZVByaXZh
dGU6OmhhbmRsZVNvZnR3YXJlSW5wdXRQYW5lbCk6CisgICAgICAgICogQXBpL3F3ZWJwYWdlX3Au
aDoKKyAgICAgICAgKiB0ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwOgorICAgICAgICAo
dHN0X1FXZWJQYWdlOjppbnB1dE1ldGhvZHMpOgorCiAyMDEwLTEyLTAxICBKaWEgUHUgIDxqcHVA
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2Vi
S2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0FwaS9xd2Vi
cGFnZS5jcHAJKHJldmlzaW9uIDczMjA2KQorKysgV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTc1OSwxMCArNzU5LDEwIEBAIHZvaWQgUVdlYlBhZ2VQcml2YXRl
Ojptb3VzZVJlbGVhc2VFdmVudCgKICAgICBldi0+c2V0QWNjZXB0ZWQoYWNjZXB0ZWQpOwogCiAg
ICAgaGFuZGxlQ2xpcGJvYXJkKGV2LCBldi0+YnV0dG9uKCkpOwotICAgIGhhbmRsZVNvZnR3YXJl
SW5wdXRQYW5lbChldi0+YnV0dG9uKCkpOworICAgIGhhbmRsZVNvZnR3YXJlSW5wdXRQYW5lbChl
di0+YnV0dG9uKCksIFFQb2ludEYoZXYtPnBvcygpKS50b1BvaW50KCkpOwogfQogCi12b2lkIFFX
ZWJQYWdlUHJpdmF0ZTo6aGFuZGxlU29mdHdhcmVJbnB1dFBhbmVsKFF0OjpNb3VzZUJ1dHRvbiBi
dXR0b24pCit2b2lkIFFXZWJQYWdlUHJpdmF0ZTo6aGFuZGxlU29mdHdhcmVJbnB1dFBhbmVsKFF0
OjpNb3VzZUJ1dHRvbiBidXR0b24sIGNvbnN0IFFQb2ludCYgcG9zKQogewogICAgIEZyYW1lKiBm
cmFtZSA9IHBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkRnJhbWUoKTsKICAgICBpZiAo
IWZyYW1lKQpAQCAtNzc0LDggKzc3NCwxMSBAQCB2b2lkIFFXZWJQYWdlUHJpdmF0ZTo6aGFuZGxl
U29mdHdhcmVJbnB1CiAgICAgICAgIFFTdHlsZTo6UmVxdWVzdFNvZnR3YXJlSW5wdXRQYW5lbCBi
ZWhhdmlvciA9IFFTdHlsZTo6UmVxdWVzdFNvZnR3YXJlSW5wdXRQYW5lbCgKICAgICAgICAgICAg
IGNsaWVudC0+b3duZXJXaWRnZXQoKS0+c3R5bGUoKS0+c3R5bGVIaW50KFFTdHlsZTo6U0hfUmVx
dWVzdFNvZnR3YXJlSW5wdXRQYW5lbCkpOwogICAgICAgICBpZiAoIWNsaWNrQ2F1c2VkRm9jdXMg
fHwgYmVoYXZpb3IgPT0gUVN0eWxlOjpSU0lQX09uTW91c2VDbGljaykgewotICAgICAgICAgICAg
UUV2ZW50IGV2ZW50KFFFdmVudDo6UmVxdWVzdFNvZnR3YXJlSW5wdXRQYW5lbCk7Ci0gICAgICAg
ICAgICBRQXBwbGljYXRpb246OnNlbmRFdmVudChjbGllbnQtPm93bmVyV2lkZ2V0KCksICZldmVu
dCk7CisgICAgICAgICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9IGZyYW1lLT5ldmVudEhhbmRs
ZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQoZnJhbWUtPnZpZXcoKS0+d2luZG93VG9Db250ZW50
cyhwb3MpLCBmYWxzZSk7CisgICAgICAgICAgICBpZiAocmVzdWx0LmlzQ29udGVudEVkaXRhYmxl
KCkpIHsKKyAgICAgICAgICAgICAgICBRRXZlbnQgZXZlbnQoUUV2ZW50OjpSZXF1ZXN0U29mdHdh
cmVJbnB1dFBhbmVsKTsKKyAgICAgICAgICAgICAgICBRQXBwbGljYXRpb246OnNlbmRFdmVudChj
bGllbnQtPm93bmVyV2lkZ2V0KCksICZldmVudCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICB9CiAKSW5kZXg6IFdlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCShyZXZpc2lvbiA3MzIwNikKKysrIFdlYktpdC9x
dC9BcGkvcXdlYnBhZ2VfcC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjQsNyArMTI0LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2hvcnRjdXRPdmVycmlkZUV2ZW50KFFLZXlFdmVudCopOwogICAgIHZv
aWQgbGVhdmVFdmVudChRRXZlbnQqKTsKICAgICB2b2lkIGhhbmRsZUNsaXBib2FyZChRRXZlbnQq
LCBRdDo6TW91c2VCdXR0b24pOwotICAgIHZvaWQgaGFuZGxlU29mdHdhcmVJbnB1dFBhbmVsKFF0
OjpNb3VzZUJ1dHRvbik7CisgICAgdm9pZCBoYW5kbGVTb2Z0d2FyZUlucHV0UGFuZWwoUXQ6Ok1v
dXNlQnV0dG9uLCBjb25zdCBRUG9pbnQmKTsKICAgICBib29sIGhhbmRsZVNjcm9sbGluZyhRS2V5
RXZlbnQqLCBXZWJDb3JlOjpGcmFtZSopOwogCiAgICAgLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBk
ZWZhdWx0IGFjdGlvbiB3YXMgY2FuY2VsbGVkIGluIHRoZSBKUyBldmVudCBoYW5kbGVyCkluZGV4
OiBXZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAkocmV2aXNpb24gNzMy
MDYpCisrKyBXZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjAwOSw2ICsyMDA5LDIwIEBAIHZvaWQgdHN0X1FXZWJQYWdlOjppbnB1dE1l
dGhvZHMoKQogICAgIGFuY2hvclBvc2l0aW9uID0gIHZhcmlhbnQudG9JbnQoKTsKICAgICBRQ09N
UEFSRShhbmNob3JQb3NpdGlvbiwgMTIpOwogCisgICAgLy8gQ2hlY2sgc2VuZGluZyBSZXF1ZXN0
U29mdHdhcmVJbnB1dFBhbmVsIGV2ZW50CisgICAgcGFnZS0+bWFpbkZyYW1lKCktPnNldEh0bWwo
IjxodG1sPjxib2R5PiIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiPGlucHV0IHR5cGU9J3RleHQnIGlkPSdpbnB1dDUnIHZhbHVlPSdRdFdlYktpdCBpbnB1
dE1ldGhvZCcvPiIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiPGRpdiBpZD0nYnRuRGl2JyBvbmNsaWNrPSdpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZx
dW90O2lucHV0NSZxdW90Oyk7IGkuZm9jdXMoKTsnPmFiYzwvZGl2PiJcCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8L2JvZHk+PC9odG1sPiIpOworICAgIFFX
ZWJFbGVtZW50IGlucHV0RWxlbWVudCA9IHBhZ2UtPm1haW5GcmFtZSgpLT5maW5kRmlyc3RFbGVt
ZW50KCJkaXYiKTsKKyAgICB7CisgICAgICAgIFFNb3VzZUV2ZW50IGV2cHJlcyhRRXZlbnQ6Ok1v
dXNlQnV0dG9uUHJlc3MsIGlucHV0RWxlbWVudC5nZW9tZXRyeSgpLmNlbnRlcigpLCBRdDo6TGVm
dEJ1dHRvbiwgUXQ6Ok5vQnV0dG9uLCBRdDo6Tm9Nb2RpZmllcik7CisgICAgICAgIHBhZ2UtPmV2
ZW50KCZldnByZXMpOworICAgICAgICBRTW91c2VFdmVudCBldnJlbChRRXZlbnQ6Ok1vdXNlQnV0
dG9uUmVsZWFzZSwgaW5wdXRFbGVtZW50Lmdlb21ldHJ5KCkuY2VudGVyKCksIFF0OjpMZWZ0QnV0
dG9uLCBRdDo6Tm9CdXR0b24sIFF0OjpOb01vZGlmaWVyKTsKKyAgICAgICAgcGFnZS0+ZXZlbnQo
JmV2cmVsKTsKKyAgICB9CisKKyAgICBRVkVSSUZZKCF2aWV3RXZlbnRTcHkuY29udGFpbnMoUUV2
ZW50OjpSZXF1ZXN0U29mdHdhcmVJbnB1dFBhbmVsKSk7CiAgICAgZGVsZXRlIGNvbnRhaW5lcjsK
IH0KIAo=
</data>
<flag name="review"
          id="66228"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76289</attachid>
            <date>2010-12-10 19:30:38 -0800</date>
            <delta_ts>2010-12-17 02:51:48 -0800</delta_ts>
            <desc>add help function for testing</desc>
            <filename>50419.patch</filename>
            <type>text/plain</type>
            <size>7921</size>
            <attacher name="Yi Shen">max.hong.shen</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNzM4MzIpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMTItMTAgIFlpIFNoZW4gIDx5aS40LnNoZW5Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtRdF0gUVdlYlBhZ2Ugc2VuZHMgb3V0IGEgUmVxdWVzdFNvZnR3YXJlSW5wdXRQYW5lbCBldmVu
dCAKKyAgICAgICAgaW5jb3JyZWN0bHkgaW4gcGFydGljdWxhciBjYXNlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDQxOQorCisgICAgICAgIEFkZCBI
aXRUZXN0UmVzdWx0IGNoZWNrIGJlZm9yZSBmaXJpbmcgUmVxdWVzdFNvZnR3YXJlSW5wdXRQYW5l
bCBldmVudC4KKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgIChRV2ViUGFn
ZVByaXZhdGU6Om1vdXNlUmVsZWFzZUV2ZW50KToKKyAgICAgICAgKFFXZWJQYWdlUHJpdmF0ZTo6
aGFuZGxlU29mdHdhcmVJbnB1dFBhbmVsKToKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2VfcC5oOgor
ICAgICAgICAqIHRlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHA6CisgICAgICAgIChjbGlj
a09uUGFnZSk6CisgICAgICAgICh0c3RfUVdlYlBhZ2U6OmlucHV0TWV0aG9kcyk6CisKIDIwMTAt
MTItMTAgIEtyaXRoaWdhc3NyZWUgU2FtYmFtdXJ0aHkgIDxrcml0aGlnYXNzcmVlLnNhbWJhbXVy
dGh5QG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCklu
ZGV4OiBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQv
QXBpL3F3ZWJwYWdlLmNwcAkocmV2aXNpb24gNzM4MjMpCisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzU5LDEwICs3NTksMTAgQEAgdm9pZCBRV2ViUGFn
ZVByaXZhdGU6Om1vdXNlUmVsZWFzZUV2ZW50KAogICAgIGV2LT5zZXRBY2NlcHRlZChhY2NlcHRl
ZCk7CiAKICAgICBoYW5kbGVDbGlwYm9hcmQoZXYsIGV2LT5idXR0b24oKSk7Ci0gICAgaGFuZGxl
U29mdHdhcmVJbnB1dFBhbmVsKGV2LT5idXR0b24oKSk7CisgICAgaGFuZGxlU29mdHdhcmVJbnB1
dFBhbmVsKGV2LT5idXR0b24oKSwgUVBvaW50Rihldi0+cG9zKCkpLnRvUG9pbnQoKSk7CiB9CiAK
LXZvaWQgUVdlYlBhZ2VQcml2YXRlOjpoYW5kbGVTb2Z0d2FyZUlucHV0UGFuZWwoUXQ6Ok1vdXNl
QnV0dG9uIGJ1dHRvbikKK3ZvaWQgUVdlYlBhZ2VQcml2YXRlOjpoYW5kbGVTb2Z0d2FyZUlucHV0
UGFuZWwoUXQ6Ok1vdXNlQnV0dG9uIGJ1dHRvbiwgY29uc3QgUVBvaW50JiBwb3MpCiB7CiAgICAg
RnJhbWUqIGZyYW1lID0gcGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRGcmFtZSgpOwog
ICAgIGlmICghZnJhbWUpCkBAIC03NzQsOCArNzc0LDExIEBAIHZvaWQgUVdlYlBhZ2VQcml2YXRl
OjpoYW5kbGVTb2Z0d2FyZUlucHUKICAgICAgICAgUVN0eWxlOjpSZXF1ZXN0U29mdHdhcmVJbnB1
dFBhbmVsIGJlaGF2aW9yID0gUVN0eWxlOjpSZXF1ZXN0U29mdHdhcmVJbnB1dFBhbmVsKAogICAg
ICAgICAgICAgY2xpZW50LT5vd25lcldpZGdldCgpLT5zdHlsZSgpLT5zdHlsZUhpbnQoUVN0eWxl
OjpTSF9SZXF1ZXN0U29mdHdhcmVJbnB1dFBhbmVsKSk7CiAgICAgICAgIGlmICghY2xpY2tDYXVz
ZWRGb2N1cyB8fCBiZWhhdmlvciA9PSBRU3R5bGU6OlJTSVBfT25Nb3VzZUNsaWNrKSB7Ci0gICAg
ICAgICAgICBRRXZlbnQgZXZlbnQoUUV2ZW50OjpSZXF1ZXN0U29mdHdhcmVJbnB1dFBhbmVsKTsK
LSAgICAgICAgICAgIFFBcHBsaWNhdGlvbjo6c2VuZEV2ZW50KGNsaWVudC0+b3duZXJXaWRnZXQo
KSwgJmV2ZW50KTsKKyAgICAgICAgICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gZnJhbWUtPmV2
ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChmcmFtZS0+dmlldygpLT53aW5kb3dU
b0NvbnRlbnRzKHBvcyksIGZhbHNlKTsKKyAgICAgICAgICAgIGlmIChyZXN1bHQuaXNDb250ZW50
RWRpdGFibGUoKSkgeworICAgICAgICAgICAgICAgIFFFdmVudCBldmVudChRRXZlbnQ6OlJlcXVl
c3RTb2Z0d2FyZUlucHV0UGFuZWwpOworICAgICAgICAgICAgICAgIFFBcHBsaWNhdGlvbjo6c2Vu
ZEV2ZW50KGNsaWVudC0+b3duZXJXaWRnZXQoKSwgJmV2ZW50KTsKKyAgICAgICAgICAgIH0KICAg
ICAgICAgfQogICAgIH0KIApJbmRleDogV2ViS2l0L3F0L0FwaS9xd2VicGFnZV9wLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L3F0L0FwaS9xd2VicGFnZV9wLmgJKHJldmlzaW9uIDczODIzKQorKysg
V2ViS2l0L3F0L0FwaS9xd2VicGFnZV9wLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNCw3ICsxMjQs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzaG9ydGN1dE92ZXJyaWRlRXZlbnQoUUtleUV2ZW50Kik7
CiAgICAgdm9pZCBsZWF2ZUV2ZW50KFFFdmVudCopOwogICAgIHZvaWQgaGFuZGxlQ2xpcGJvYXJk
KFFFdmVudCosIFF0OjpNb3VzZUJ1dHRvbik7Ci0gICAgdm9pZCBoYW5kbGVTb2Z0d2FyZUlucHV0
UGFuZWwoUXQ6Ok1vdXNlQnV0dG9uKTsKKyAgICB2b2lkIGhhbmRsZVNvZnR3YXJlSW5wdXRQYW5l
bChRdDo6TW91c2VCdXR0b24sIGNvbnN0IFFQb2ludCYpOwogICAgIGJvb2wgaGFuZGxlU2Nyb2xs
aW5nKFFLZXlFdmVudCosIFdlYkNvcmU6OkZyYW1lKik7CiAKICAgICAvLyBSZXR1cm5zIHdoZXRo
ZXIgdGhlIGRlZmF1bHQgYWN0aW9uIHdhcyBjYW5jZWxsZWQgaW4gdGhlIEpTIGV2ZW50IGhhbmRs
ZXIKSW5kZXg6IFdlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCShyZXZp
c2lvbiA3MzgyMykKKysrIFdlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMzk4LDYgKzEzOTgsMTQgQEAgc3RhdGljIGJvb2wgaW5wdXRN
ZXRob2RFbmFibGVkKFFPYmplY3QqIAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3RhdGljIHZv
aWQgY2xpY2tPblBhZ2UoUVdlYlBhZ2UqIHBhZ2UsIGNvbnN0IFFQb2ludCYgcG9zaXRpb24pCit7
CisgICAgUU1vdXNlRXZlbnQgZXZwcmVzKFFFdmVudDo6TW91c2VCdXR0b25QcmVzcywgcG9zaXRp
b24sIFF0OjpMZWZ0QnV0dG9uLCBRdDo6Tm9CdXR0b24sIFF0OjpOb01vZGlmaWVyKTsKKyAgICBw
YWdlLT5ldmVudCgmZXZwcmVzKTsKKyAgICBRTW91c2VFdmVudCBldnJlbChRRXZlbnQ6Ok1vdXNl
QnV0dG9uUmVsZWFzZSwgcG9zaXRpb24sIFF0OjpMZWZ0QnV0dG9uLCBRdDo6Tm9CdXR0b24sIFF0
OjpOb01vZGlmaWVyKTsKKyAgICBwYWdlLT5ldmVudCgmZXZyZWwpOworfQorCiB2b2lkIHRzdF9R
V2ViUGFnZTo6aW5wdXRNZXRob2RzKCkKIHsKICAgICBRRkVUQ0goUVN0cmluZywgdmlld1R5cGUp
OwpAQCAtMTQzNCwxMSArMTQ0Miw5IEBAIHZvaWQgdHN0X1FXZWJQYWdlOjppbnB1dE1ldGhvZHMo
KQogICAgIEV2ZW50U3B5IHZpZXdFdmVudFNweShjb250YWluZXIpOwogCiAgICAgUVdlYkVsZW1l
bnRDb2xsZWN0aW9uIGlucHV0cyA9IHBhZ2UtPm1haW5GcmFtZSgpLT5kb2N1bWVudEVsZW1lbnQo
KS5maW5kQWxsKCJpbnB1dCIpOworICAgIFFQb2ludCB0ZXh0SW5wdXRDZW50ZXIgPSBpbnB1dHMu
YXQoMCkuZ2VvbWV0cnkoKS5jZW50ZXIoKTsKIAotICAgIFFNb3VzZUV2ZW50IGV2cHJlcyhRRXZl
bnQ6Ok1vdXNlQnV0dG9uUHJlc3MsIGlucHV0cy5hdCgwKS5nZW9tZXRyeSgpLmNlbnRlcigpLCBR
dDo6TGVmdEJ1dHRvbiwgUXQ6Ok5vQnV0dG9uLCBRdDo6Tm9Nb2RpZmllcik7Ci0gICAgcGFnZS0+
ZXZlbnQoJmV2cHJlcyk7Ci0gICAgUU1vdXNlRXZlbnQgZXZyZWwoUUV2ZW50OjpNb3VzZUJ1dHRv
blJlbGVhc2UsIGlucHV0cy5hdCgwKS5nZW9tZXRyeSgpLmNlbnRlcigpLCBRdDo6TGVmdEJ1dHRv
biwgUXQ6Ok5vQnV0dG9uLCBRdDo6Tm9Nb2RpZmllcik7Ci0gICAgcGFnZS0+ZXZlbnQoJmV2cmVs
KTsKKyAgICBjbGlja09uUGFnZShwYWdlLCB0ZXh0SW5wdXRDZW50ZXIpOwogCiAgICAgLy8gVGhp
cyBwYXJ0IG9mIHRoZSB0ZXN0IGNoZWNrcyBpZiB0aGUgU0lQIChTb2Z0d2FyZSBJbnB1dCBQYW5l
bCkgaXMgdHJpZ2dlcmVkLAogICAgIC8vIHdoaWNoIG5vcm1hbGx5IGhhcHBlbnMgb24gbW9iaWxl
IHBsYXRmb3Jtcywgd2hlbiBhIHVzZXIgaW5wdXQgZm9ybSByZWNlaXZlcwpAQCAtMTQ2Myw4ICsx
NDY5LDcgQEAgdm9pZCB0c3RfUVdlYlBhZ2U6OmlucHV0TWV0aG9kcygpCiAgICAgICAgIFFWRVJJ
RlkoIXZpZXdFdmVudFNweS5jb250YWlucyhRRXZlbnQ6OlJlcXVlc3RTb2Z0d2FyZUlucHV0UGFu
ZWwpKTsKICAgICB2aWV3RXZlbnRTcHkuY2xlYXIoKTsKIAotICAgIHBhZ2UtPmV2ZW50KCZldnBy
ZXMpOwotICAgIHBhZ2UtPmV2ZW50KCZldnJlbCk7CisgICAgY2xpY2tPblBhZ2UocGFnZSwgdGV4
dElucHV0Q2VudGVyKTsKICAgICBRVkVSSUZZKHZpZXdFdmVudFNweS5jb250YWlucyhRRXZlbnQ6
OlJlcXVlc3RTb2Z0d2FyZUlucHV0UGFuZWwpKTsKIAogICAgIC8vSW1NaWNyb0ZvY3VzCkBAIC0x
NTY2LDggKzE1NzEsNyBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6aW5wdXRNZXRob2RzKCkKICAgICAv
LyBMRUZUIHRvIFJJR0hUIHNlbGVjdGlvbgogICAgIC8vIERlc2VsZWN0IHRoZSBzZWxlY3Rpb24g
Ynkgc2VuZGluZyBNb3VzZUJ1dHRvblByZXNzIGV2ZW50cwogICAgIC8vIFRoaXMgbW92ZXMgdGhl
IGN1cnJlbnQgY3Vyc29yIHRvIHRoZSBlbmQgb2YgdGhlIHRleHQKLSAgICBwYWdlLT5ldmVudCgm
ZXZwcmVzKTsKLSAgICBwYWdlLT5ldmVudCgmZXZyZWwpOworICAgIGNsaWNrT25QYWdlKHBhZ2Us
IHRleHRJbnB1dENlbnRlcik7CiAKICAgICB7CiAgICAgICAgIFFMaXN0PFFJbnB1dE1ldGhvZEV2
ZW50OjpBdHRyaWJ1dGU+IGF0dHJpYnV0ZXM7CkBAIC0xNjE1LDggKzE2MTksNyBAQCB2b2lkIHRz
dF9RV2ViUGFnZTo6aW5wdXRNZXRob2RzKCkKIAogICAgIC8vUklHSFQgdG8gTEVGVCBzZWxlY3Rp
b24KICAgICAvL0Rlc2VsZWN0IHRoZSBzZWxlY3Rpb24gKHRoaXMgbW92ZXMgdGhlIGN1cnJlbnQg
Y3Vyc29yIHRvIHRoZSBlbmQgb2YgdGhlIHRleHQpCi0gICAgcGFnZS0+ZXZlbnQoJmV2cHJlcyk7
Ci0gICAgcGFnZS0+ZXZlbnQoJmV2cmVsKTsKKyAgICBjbGlja09uUGFnZShwYWdlLCB0ZXh0SW5w
dXRDZW50ZXIpOwogCiAgICAgLy9JbUFuY2hvclBvc2l0aW9uCiAgICAgdmFyaWFudCA9IHBhZ2Ut
PmlucHV0TWV0aG9kUXVlcnkoUXQ6OkltQW5jaG9yUG9zaXRpb24pOwpAQCAtMTY2MywyOCArMTY2
NiwyMCBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6aW5wdXRNZXRob2RzKCkKICAgICAvL0VORCAtIFRl
c3RzIGZvciBTZWxlY3Rpb24gd2hlbiB0aGUgRWRpdG9yIGlzIG5vdCBpbiBDb21wb3NpdGlvbiBt
b2RlCiAKICAgICAvL0ltaEhpZGRlblRleHQKLSAgICBRTW91c2VFdmVudCBldnByZXNQYXNzd29y
ZChRRXZlbnQ6Ok1vdXNlQnV0dG9uUHJlc3MsIGlucHV0cy5hdCgxKS5nZW9tZXRyeSgpLmNlbnRl
cigpLCBRdDo6TGVmdEJ1dHRvbiwgUXQ6Ok5vQnV0dG9uLCBRdDo6Tm9Nb2RpZmllcik7Ci0gICAg
cGFnZS0+ZXZlbnQoJmV2cHJlc1Bhc3N3b3JkKTsKLSAgICBRTW91c2VFdmVudCBldnJlbFBhc3N3
b3JkKFFFdmVudDo6TW91c2VCdXR0b25SZWxlYXNlLCBpbnB1dHMuYXQoMSkuZ2VvbWV0cnkoKS5j
ZW50ZXIoKSwgUXQ6OkxlZnRCdXR0b24sIFF0OjpOb0J1dHRvbiwgUXQ6Ok5vTW9kaWZpZXIpOwot
ICAgIHBhZ2UtPmV2ZW50KCZldnJlbFBhc3N3b3JkKTsKKyAgICBRUG9pbnQgcGFzc3dvcmRJbnB1
dENlbnRlciA9IGlucHV0cy5hdCgxKS5nZW9tZXRyeSgpLmNlbnRlcigpOworICAgIGNsaWNrT25Q
YWdlKHBhZ2UsIHBhc3N3b3JkSW5wdXRDZW50ZXIpOwogCiAgICAgUVZFUklGWShpbnB1dE1ldGhv
ZEVuYWJsZWQodmlldykpOwogICAgIFFWRVJJRlkoaW5wdXRNZXRob2RIaW50cyh2aWV3KSAmIFF0
OjpJbWhIaWRkZW5UZXh0KTsKIAotICAgIHBhZ2UtPmV2ZW50KCZldnByZXMpOwotICAgIHBhZ2Ut
PmV2ZW50KCZldnJlbCk7CisgICAgY2xpY2tPblBhZ2UocGFnZSwgdGV4dElucHV0Q2VudGVyKTsK
ICAgICBRVkVSSUZZKCEoaW5wdXRNZXRob2RIaW50cyh2aWV3KSAmIFF0OjpJbWhIaWRkZW5UZXh0
KSk7CiAKICAgICBwYWdlLT5tYWluRnJhbWUoKS0+c2V0SHRtbCgiPGh0bWw+PGJvZHk+PHA+bm90
aGluZyB0byBpbnB1dCBoZXJlIik7CiAgICAgdmlld0V2ZW50U3B5LmNsZWFyKCk7CiAKICAgICBR
V2ViRWxlbWVudCBwYXJhID0gcGFnZS0+bWFpbkZyYW1lKCktPmZpbmRGaXJzdEVsZW1lbnQoInAi
KTsKLSAgICB7Ci0gICAgICAgIFFNb3VzZUV2ZW50IGV2cHJlcyhRRXZlbnQ6Ok1vdXNlQnV0dG9u
UHJlc3MsIHBhcmEuZ2VvbWV0cnkoKS5jZW50ZXIoKSwgUXQ6OkxlZnRCdXR0b24sIFF0OjpOb0J1
dHRvbiwgUXQ6Ok5vTW9kaWZpZXIpOwotICAgICAgICBwYWdlLT5ldmVudCgmZXZwcmVzKTsKLSAg
ICAgICAgUU1vdXNlRXZlbnQgZXZyZWwoUUV2ZW50OjpNb3VzZUJ1dHRvblJlbGVhc2UsIHBhcmEu
Z2VvbWV0cnkoKS5jZW50ZXIoKSwgUXQ6OkxlZnRCdXR0b24sIFF0OjpOb0J1dHRvbiwgUXQ6Ok5v
TW9kaWZpZXIpOwotICAgICAgICBwYWdlLT5ldmVudCgmZXZyZWwpOwotICAgIH0KKyAgICBjbGlj
a09uUGFnZShwYWdlLCBwYXJhLmdlb21ldHJ5KCkuY2VudGVyKCkpOwogCiAgICAgUVZFUklGWSgh
dmlld0V2ZW50U3B5LmNvbnRhaW5zKFFFdmVudDo6UmVxdWVzdFNvZnR3YXJlSW5wdXRQYW5lbCkp
OwogCkBAIC0yMDEwLDYgKzIwMDUsMTUgQEAgdm9pZCB0c3RfUVdlYlBhZ2U6OmlucHV0TWV0aG9k
cygpCiAgICAgYW5jaG9yUG9zaXRpb24gPSAgdmFyaWFudC50b0ludCgpOwogICAgIFFDT01QQVJF
KGFuY2hvclBvc2l0aW9uLCAxMik7CiAKKyAgICAvLyBDaGVjayBzZW5kaW5nIFJlcXVlc3RTb2Z0
d2FyZUlucHV0UGFuZWwgZXZlbnQKKyAgICBwYWdlLT5tYWluRnJhbWUoKS0+c2V0SHRtbCgiPGh0
bWw+PGJvZHk+IiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICI8aW5wdXQgdHlwZT0ndGV4dCcgaWQ9J2lucHV0NScgdmFsdWU9J1F0V2ViS2l0IGlucHV0TWV0
aG9kJy8+IiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8
ZGl2IGlkPSdidG5EaXYnIG9uY2xpY2s9J2k9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJnF1b3Q7
aW5wdXQ1JnF1b3Q7KTsgaS5mb2N1cygpOyc+YWJjPC9kaXY+IlwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIjwvYm9keT48L2h0bWw+Iik7CisgICAgUVdlYkVs
ZW1lbnQgaW5wdXRFbGVtZW50ID0gcGFnZS0+bWFpbkZyYW1lKCktPmZpbmRGaXJzdEVsZW1lbnQo
ImRpdiIpOworICAgIGNsaWNrT25QYWdlKHBhZ2UsIGlucHV0RWxlbWVudC5nZW9tZXRyeSgpLmNl
bnRlcigpKTsKKworICAgIFFWRVJJRlkoIXZpZXdFdmVudFNweS5jb250YWlucyhRRXZlbnQ6OlJl
cXVlc3RTb2Z0d2FyZUlucHV0UGFuZWwpKTsKICAgICBkZWxldGUgY29udGFpbmVyOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>