<?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>83214</bug_id>
          
          <creation_ts>2012-04-04 14:19:46 -0700</creation_ts>
          <short_desc>[Chromium] moving a cursor on a misspelled word should not remove a misspelled underline</short_desc>
          <delta_ts>2012-05-16 09:42:22 -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>HTML Editing</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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hironori Bono">hbono</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adele</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>jiapu.mail</cc>
    
    <cc>morrita</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>595931</commentid>
    <comment_count>0</comment_count>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2012-04-04 14:19:46 -0700</bug_when>
    <thetext>Greetings,

When Chrome uses asynchronous spellchecking, it attaches Spelling markers to misspelled words in the background and attaches their suggestions to their description members. Unfortunately, WebKit removes these markers when we move a cursor onto the misspelled words on all platforms except Lion. (WebKit change r70071 &lt;http://trac.webkit.org/changeset/70071&gt; prevents removing Spelling markers on Lion.) It would be great not to remove Spelling markers also on Chromium. (Leaving Spelling markers also prevents spellchecking words every time when we right-click a word.)

Regards,

Hironori Bono</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595988</commentid>
    <comment_count>1</comment_count>
      <attachid>135691</attachid>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2012-04-04 15:03:29 -0700</bug_when>
    <thetext>Created attachment 135691
A patch v0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596809</commentid>
    <comment_count>2</comment_count>
      <attachid>135691</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-04-05 12:37:28 -0700</bug_when>
    <thetext>Comment on attachment 135691
A patch v0

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

&gt; Source/WebCore/editing/Editor.cpp:2931
&gt; +#if PLATFORM(CHROMIUM)
&gt; +        if (!m_frame-&gt;settings() || !m_frame-&gt;settings()-&gt;asynchronousSpellCheckingEnabled()) {
&gt; +            if (RefPtr&lt;Range&gt; wordRange = newAdjacentWords.toNormalizedRange())
&gt; +                m_frame-&gt;document()-&gt;markers()-&gt;removeMarkers(wordRange.get(), DocumentMarker::Spelling);
&gt; +        }
&gt; +#else

Does this need to be guarded inside Chromium at all? Doesn&apos;t other port that implements async spell checking want this fix as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596860</commentid>
    <comment_count>3</comment_count>
      <attachid>135691</attachid>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2012-04-05 13:34:51 -0700</bug_when>
    <thetext>Comment on attachment 135691
A patch v0

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

&gt;&gt; Source/WebCore/editing/Editor.cpp:2931
&gt;&gt; +#else
&gt; 
&gt; Does this need to be guarded inside Chromium at all? Doesn&apos;t other port that implements async spell checking want this fix as well?

Unfortunately, it loses compatibility with AppKit on Snow Leopard. Even though AppKit of Snow Leopard can spellcheck text in the background when we paste text, it deletes misspelling markers when we move a cursor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596878</commentid>
    <comment_count>4</comment_count>
      <attachid>135691</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-04-05 13:46:51 -0700</bug_when>
    <thetext>Comment on attachment 135691
A patch v0

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

&gt;&gt;&gt; Source/WebCore/editing/Editor.cpp:2931
&gt;&gt;&gt; +#else
&gt;&gt; 
&gt;&gt; Does this need to be guarded inside Chromium at all? Doesn&apos;t other port that implements async spell checking want this fix as well?
&gt; 
&gt; Unfortunately, it loses compatibility with AppKit on Snow Leopard. Even though AppKit of Snow Leopard can spellcheck text in the background when we paste text, it deletes misspelling markers when we move a cursor.

Interesting. It seems acceptable to land this patch as is but we should figure out a better way of abstracting these port-specific behaviors.
Maybe we want some client callback here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596879</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-04-05 13:47:54 -0700</bug_when>
    <thetext>Jpu &amp; morrita: Can you think of a good way to push these port-specific code to WebKit layer?

It&apos;s really annoying to have all these if-defs in WebCore code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597149</commentid>
    <comment_count>6</comment_count>
      <attachid>135691</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-05 19:48:56 -0700</bug_when>
    <thetext>Comment on attachment 135691
A patch v0

Clearing flags on attachment: 135691

Committed r113405: &lt;http://trac.webkit.org/changeset/113405&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597150</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-05 19:49:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625106</commentid>
    <comment_count>8</comment_count>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2012-05-16 01:06:08 -0700</bug_when>
    <thetext>Greetings Niwa-san,

Sorry for my slow response. I have filed Bug 86591 &lt;http://webkit.org/b/86591&gt; to refactor it.

Regards,

Hironori Bono

(In reply to comment #5)
&gt; Jpu &amp; morrita: Can you think of a good way to push these port-specific code to WebKit layer?
&gt; 
&gt; It&apos;s really annoying to have all these if-defs in WebCore code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625548</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-16 09:42:22 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Sorry for my slow response. I have filed Bug 86591 &lt;http://webkit.org/b/86591&gt; to refactor it.

r=me on that patch. Thanks for the follow up!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135691</attachid>
            <date>2012-04-04 15:03:29 -0700</date>
            <delta_ts>2012-04-05 19:48:56 -0700</delta_ts>
            <desc>A patch v0</desc>
            <filename>issue83214-patch0.txt</filename>
            <type>text/plain</type>
            <size>9514</size>
            <attacher name="Hironori Bono">hbono</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzI0MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA0LTA0ICBIaXJvbm9y
aSBCb25vICA8aGJvbm9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gbW92aW5n
IGEgY3Vyc29yIG9uIGEgbWlzc3BlbGxlZCB3b3JkIHNob3VsZCBub3QgcmVtb3ZlIGEgbWlzc3Bl
bGxlZCB1bmRlcmxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgzMjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2hlbiBDaHJvbWUgZW5hYmxlcyBhc3luY2hyb25vdXMgc3BlbGxjaGVja2luZywgaXQg
YWRkcyBTcGVsbGluZyBtYXJrZXJzIGluIHRoZQorICAgICAgICBiYWNrZ3JvdW5kLiBGb3IgdGhp
cyBjYXNlLCBtb3ZpbmcgYSBjdXJzb3Igc2hvdWxkIG5vdCByZW1vdmUgdGhlc2UgbWFya2Vycwor
ICAgICAgICBiZWNhdXNlIGl0IHJlcXVpcmVzIENocm9tZSB0byBzcGVsbGNoZWNrIHRleHQgYWdh
aW4uIFRoaXMgY2hhbmdlIHByZXZlbnRzCisgICAgICAgIHJlbW92aW5nIFNwZWxsaW5nIG1hcmtl
cnMgYWRkZWQgYnkgc3BlbGxjaGVja2VycyBhc3luY2hyb25vdXNseS4KKworICAgICAgICBUZXN0
OiBwbGF0Zm9ybS9jaHJvbWl1bS9lZGl0aW5nL3NwZWxsaW5nL21vdmUtY3Vyc29yLXRvLW1pc3Nw
ZWxsZWQtd29yZC5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgorCiAyMDEyLTAz
LTE1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIEZ1bGwgU2Ny
ZWVuIG1vZGUgc2hvdWxkIGNhbmNlbCBiZWZvcmUgbmF2aWdhdGlvbi4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5jcHAJKHJldmlzaW9uIDExMzE5MykKKysrIFNvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjkyMywxMSArMjkyMywxOCBAQCB2
b2lkIEVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihjCiAgICAgICAgIH0KIAogI2lm
ICFQTEFURk9STShNQUMpIHx8IChQTEFURk9STShNQUMpICYmIChkZWZpbmVkKEJVSUxESU5HX09O
X0xFT1BBUkQpIHx8IGRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSkpCisjaWYgUExB
VEZPUk0oQ0hST01JVU0pCisgICAgICAgIGlmICghbV9mcmFtZS0+c2V0dGluZ3MoKSB8fCAhbV9m
cmFtZS0+c2V0dGluZ3MoKS0+YXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoKSkgewor
ICAgICAgICAgICAgaWYgKFJlZlB0cjxSYW5nZT4gd29yZFJhbmdlID0gbmV3QWRqYWNlbnRXb3Jk
cy50b05vcm1hbGl6ZWRSYW5nZSgpKQorICAgICAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50
KCktPm1hcmtlcnMoKS0+cmVtb3ZlTWFya2Vycyh3b3JkUmFuZ2UuZ2V0KCksIERvY3VtZW50TWFy
a2VyOjpTcGVsbGluZyk7CisgICAgICAgIH0KKyNlbHNlCiAgICAgICAgIC8vIFRoaXMgb25seSBl
cmFzZXMgbWFya2VycyB0aGF0IGFyZSBpbiB0aGUgZmlyc3QgdW5pdCAod29yZCBvciBzZW50ZW5j
ZSkgb2YgdGhlIHNlbGVjdGlvbi4KICAgICAgICAgLy8gUGVyaGFwcyBwZWN1bGlhciwgYnV0IGl0
IG1hdGNoZXMgQXBwS2l0IG9uIHRoZXNlIE1hYyBPUyBYIHZlcnNpb25zLgogICAgICAgICBpZiAo
UmVmUHRyPFJhbmdlPiB3b3JkUmFuZ2UgPSBuZXdBZGphY2VudFdvcmRzLnRvTm9ybWFsaXplZFJh
bmdlKCkpCiAgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPnJlbW92
ZU1hcmtlcnMod29yZFJhbmdlLmdldCgpLCBEb2N1bWVudE1hcmtlcjo6U3BlbGxpbmcpOwogI2Vu
ZGlmCisjZW5kaWYKICAgICAgICAgaWYgKFJlZlB0cjxSYW5nZT4gc2VudGVuY2VSYW5nZSA9IG5l
d1NlbGVjdGVkU2VudGVuY2UudG9Ob3JtYWxpemVkUmFuZ2UoKSkKICAgICAgICAgICAgIG1fZnJh
bWUtPmRvY3VtZW50KCktPm1hcmtlcnMoKS0+cmVtb3ZlTWFya2VycyhzZW50ZW5jZVJhbmdlLmdl
dCgpLCBEb2N1bWVudE1hcmtlcjo6R3JhbW1hcik7CiAgICAgfQpJbmRleDogU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzI0MCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDQtMDQgIEhp
cm9ub3JpIEJvbm8gIDxoYm9ub0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBt
b3ZpbmcgYSBjdXJzb3Igb24gYSBtaXNzcGVsbGVkIHdvcmQgc2hvdWxkIG5vdCByZW1vdmUgYSBt
aXNzcGVsbGVkIHVuZGVybGluZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODMyMTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXaGVuIENocm9tZSBlbmFibGVzIGFzeW5jaHJvbm91cyBzcGVsbGNoZWNraW5n
LCBpdCBhZGRzIFNwZWxsaW5nIG1hcmtlcnMgaW4gdGhlCisgICAgICAgIGJhY2tncm91bmQuIEZv
ciB0aGlzIGNhc2UsIG1vdmluZyBhIGN1cnNvciBzaG91bGQgbm90IHJlbW92ZSB0aGVzZSBtYXJr
ZXJzCisgICAgICAgIGJlY2F1c2UgaXQgcmVxdWlyZXMgQ2hyb21lIHRvIHNwZWxsY2hlY2sgdGV4
dCBhZ2Fpbi4gVGhpcyBjaGFuZ2UgcHJldmVudHMKKyAgICAgICAgcmVtb3ZpbmcgU3BlbGxpbmcg
bWFya2VycyBhZGRlZCBieSBzcGVsbGNoZWNrZXJzIGFzeW5jaHJvbm91c2x5LgorCisgICAgICAg
ICogc3JjL0NvbnRleHRNZW51Q2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvbnRl
eHRNZW51Q2xpZW50SW1wbDo6Z2V0Q3VzdG9tTWVudUZyb21EZWZhdWx0SXRlbXMpOiB1c2UgbWFy
a2VyIGRlc2NyaXB0aW9ucyBpbnN0ZWFkIG9mIHNwZWxsY2hlY2tpbmcgdGV4dCB3aGVuIENocm9t
ZSBlbmFibGVzIGFzeW5jaHJvbm91cyBzcGVsbGNoZWNraW5nLgorCiAyMDEyLTA0LTA0ICBNYXJr
IFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDYWxsIGhpc3RvZ3Jh
bUN1c3RvbUNvdW50cyBkaXJlY3RseQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
Q29udGV4dE1lbnVDbGllbnRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9Db250ZXh0TWVudUNsaWVudEltcGwuY3BwCShyZXZpc2lvbiAxMTMxOTMpCisr
KyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Db250ZXh0TWVudUNsaWVudEltcGwuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDb250
cm9sbGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRl
ci5oIgorI2luY2x1ZGUgIkRvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkVk
aXRvci5oIgogI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVy
LmgiCkBAIC01NCw2ICs1NSw3IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0LmgiCisjaW5jbHVkZSAiU2V0dGlu
Z3MuaCIKICNpbmNsdWRlICJUZXh0QnJlYWtJdGVyYXRvci5oIgogI2luY2x1ZGUgIldpZGdldC5o
IgogCkBAIC0yNzIsNyArMjc0LDI1IEBAIFBsYXRmb3JtTWVudURlc2NyaXB0aW9uIENvbnRleHRN
ZW51Q2xpZW4KICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4o
ci5pbm5lck5vblNoYXJlZE5vZGUoKSktPmlzU3BlZWNoRW5hYmxlZCgpOwogICAgICAgICB9ICAK
ICNlbmRpZgotICAgICAgICBpZiAobV93ZWJWaWV3LT5mb2N1c2VkV2ViQ29yZUZyYW1lKCktPmVk
aXRvcigpLT5pc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCgpKSB7CisgICAgICAgIC8v
IFdoZW4gQ2hyb21lIGVuYWJsZXMgYXN5bmNocm9ub3VzIHNwZWxsY2hlY2tpbmcsIGl0cyBzcGVs
bGNoZWNrZXIgYWRkcyBzcGVsbGluZyBtYXJrZXJzIHRvIG1pc3NwZWxsZWQKKyAgICAgICAgLy8g
d29yZHMgYW5kIGF0dGFjaGVzIHN1Z2dlc3Rpb25zIHRvIHRoZXNlIG1hcmtlcnMgaW4gdGhlIGJh
Y2tncm91bmQuIFRoZXJlZm9yZSwgd2hlbiBhIHVzZXIgcmlnaHQtY2xpY2tzCisgICAgICAgIC8v
IGEgbW91c2Ugb24gYSB3b3JkLCBDaHJvbWUganVzdCBuZWVkcyB0byBmaW5kIGEgc3BlbGxpbmcg
bWFya2VyIG9uIHRoZSB3b3JkIGluc3RyZWFkIG9mIHNwZWxsY2hlY2tpbmcgaXQuCisgICAgICAg
IGlmIChzZWxlY3RlZEZyYW1lLT5zZXR0aW5ncygpICYmIHNlbGVjdGVkRnJhbWUtPnNldHRpbmdz
KCktPmFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkpIHsKKyAgICAgICAgICAgIFJl
ZlB0cjxSYW5nZT4gcmFuZ2UgPSBzZWxlY3RlZEZyYW1lLT5zZWxlY3Rpb24oKS0+dG9Ob3JtYWxp
emVkUmFuZ2UoKTsKKyAgICAgICAgICAgIFZlY3RvcjxEb2N1bWVudE1hcmtlcio+IG1hcmtlcnMg
PSBzZWxlY3RlZEZyYW1lLT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPm1hcmtlcnNJblJhbmdlKHJh
bmdlLmdldCgpLCBEb2N1bWVudE1hcmtlcjo6U3BlbGxpbmcpOworICAgICAgICAgICAgaWYgKCFt
YXJrZXJzLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgIFZlY3RvcjxTdHJpbmc+IHN1Z2dl
c3Rpb25zOworICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbWFya2Vycy5z
aXplKCk7ICsraSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoIW1hcmtlcnNbaV0tPmRlc2Ny
aXB0aW9uKCkuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBWZWN0b3I8U3Ry
aW5nPiBkZXNjcmlwdGlvbnM7CisgICAgICAgICAgICAgICAgICAgICAgICBtYXJrZXJzW2ldLT5k
ZXNjcmlwdGlvbigpLnNwbGl0KCdcbicsIGRlc2NyaXB0aW9ucyk7CisgICAgICAgICAgICAgICAg
ICAgICAgICBzdWdnZXN0aW9ucy5hcHBlbmQoZGVzY3JpcHRpb25zKTsKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBkYXRhLmRpY3Rpb25h
cnlTdWdnZXN0aW9ucyA9IHN1Z2dlc3Rpb25zOworICAgICAgICAgICAgICAgIGRhdGEubWlzc3Bl
bGxlZFdvcmQgPSByYW5nZS0+dGV4dCgpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2Ug
aWYgKG1fd2ViVmlldy0+Zm9jdXNlZFdlYkNvcmVGcmFtZSgpLT5lZGl0b3IoKS0+aXNDb250aW51
b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgZGF0YS5pc1NwZWxsQ2hl
Y2tpbmdFbmFibGVkID0gdHJ1ZTsKICAgICAgICAgICAgIC8vIFNwZWxsY2hlY2tpbmcgbWlnaHQg
YmUgZW5hYmxlZCBmb3IgdGhlIGZpZWxkLCBidXQgY291bGQgYmUgZGlzYWJsZWQgb24gdGhlIG5v
ZGUuCiAgICAgICAgICAgICBpZiAobV93ZWJWaWV3LT5mb2N1c2VkV2ViQ29yZUZyYW1lKCktPmVk
aXRvcigpLT5pc1NwZWxsQ2hlY2tpbmdFbmFibGVkSW5Gb2N1c2VkTm9kZSgpKSB7CkluZGV4OiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxMTMyNDApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wNC0wNCAgSGlyb25vcmkgQm9ubyAgPGhib25vQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIG1vdmluZyBhIGN1cnNvciBvbiBhIG1p
c3NwZWxsZWQgd29yZCBzaG91bGQgbm90IHJlbW92ZSBhIG1pc3NwZWxsZWQgdW5kZXJsaW5lCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzIxNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gQ2hyb21l
IGVuYWJsZXMgYXN5bmNocm9ub3VzIHNwZWxsY2hlY2tpbmcsIGl0IGFkZHMgU3BlbGxpbmcgbWFy
a2VycyBpbiB0aGUKKyAgICAgICAgYmFja2dyb3VuZC4gRm9yIHRoaXMgY2FzZSwgbW92aW5nIGEg
Y3Vyc29yIHNob3VsZCBub3QgcmVtb3ZlIHRoZXNlIG1hcmtlcnMKKyAgICAgICAgYmVjYXVzZSBp
dCByZXF1aXJlcyBDaHJvbWUgdG8gc3BlbGxjaGVjayB0ZXh0IGFnYWluLiBUaGlzIGNoYW5nZSBw
cmV2ZW50cworICAgICAgICByZW1vdmluZyBTcGVsbGluZyBtYXJrZXJzIGFkZGVkIGJ5IHNwZWxs
Y2hlY2tlcnMgYXN5bmNocm9ub3VzbHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9l
ZGl0aW5nL3NwZWxsaW5nL21vdmUtY3Vyc29yLXRvLW1pc3NwZWxsZWQtd29yZC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2VkaXRpbmcvc3BlbGxpbmcv
bW92ZS1jdXJzb3ItdG8tbWlzc3BlbGxlZC13b3JkLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA0LTA0
ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzMjA3CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9lZGl0aW5nL3NwZWxsaW5nL21vdmUtY3Vyc29yLXRvLW1pc3NwZWxsZWQt
d29yZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vZWRpdGluZy9zcGVsbGluZy9tb3ZlLWN1cnNvci10by1taXNzcGVsbGVkLXdvcmQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
ZWRpdGluZy9zcGVsbGluZy9tb3ZlLWN1cnNvci10by1taXNzcGVsbGVkLXdvcmQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBACitUZXN0IGlmIENocm9tZSBXZWJLaXQg
ZG9lcyBub3QgcmVtb3ZlIGEgbWlzc3BlbGxlZCBtYXJrZXIgd2hlbiBtb3ZpbmcgYSBjdXJzb3Ig
b24gYSBtaXNzcGVsbGVkIHdvcmQuVG8gdGVzdCBtYW51YWxseSwgdHlwZSBhIG1pc3NwZWxsZWQg
d29yZCAienogIiBhbmQgdHlwZSBhIGxlZnQtYXJyb3cga2V5IHRvIG1vdmUgdGhlIGN1cnNvciBv
biBpdC5UaGlzIHRlc3Qgc3VjY2VlZHMgd2hlbiAienoiIGlzIG1hcmtlZCBhcyBtaXNzcGVsbGVk
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBpbnRlcm5hbHMuaGFzU3Bl
bGxpbmdNYXJrZXIoZG9jdW1lbnQsIDAsIDIpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorenrCoAorCisKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2VkaXRpbmcvc3BlbGxpbmcvbW92ZS1jdXJzb3ItdG8tbWlzc3Bl
bGxlZC13b3JkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vZWRpdGluZy9zcGVsbGluZy9tb3ZlLWN1cnNvci10by1taXNzcGVsbGVkLXdvcmQuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2VkaXRpbmcvc3Bl
bGxpbmcvbW92ZS1jdXJzb3ItdG8tbWlzc3BlbGxlZC13b3JkLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMjUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0uLi8uLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzx0aXRsZT5UZXN0aW5nIG1vdmluZyBjdXJz
b3IgdG8gYSBtaXNzcGVsbGVkIHdvcmQ8L3RpdGxlPiAKKzwvaGVhZD4gCis8Ym9keT4KKzxkaXYg
aWQ9InNyYyIgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJ0cnVlIj48L2Rpdj48
YnIvPgorPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbignVGVzdCBp
ZiBDaHJvbWUgV2ViS2l0IGRvZXMgbm90IHJlbW92ZSBhIG1pc3NwZWxsZWQgbWFya2VyIHdoZW4g
bW92aW5nIGEgY3Vyc29yIG9uIGEgbWlzc3BlbGxlZCB3b3JkLicgKworICAgICAgICAgICAgJ1Rv
IHRlc3QgbWFudWFsbHksIHR5cGUgYSBtaXNzcGVsbGVkIHdvcmQgInp6ICIgYW5kIHR5cGUgYSBs
ZWZ0LWFycm93IGtleSB0byBtb3ZlIHRoZSBjdXJzb3Igb24gaXQuJyArCisgICAgICAgICAgICAn
VGhpcyB0ZXN0IHN1Y2NlZWRzIHdoZW4gInp6IiBpcyBtYXJrZWQgYXMgbWlzc3BlbGxlZC4nKTsK
KworbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJs
ZWQodHJ1ZSk7Cit2YXIgbm9kZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzcmMnKTsKK25v
ZGUuZm9jdXMoKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCJJbnNlcnRUZXh0IiwgZmFsc2UsICd6
Jyk7Citkb2N1bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0VGV4dCIsIGZhbHNlLCAneicpOworZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkluc2VydFRleHQiLCBmYWxzZSwgJyAnKTsKK3dpbmRvdy5nZXRT
ZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAnYmFja3dhcmQnLCAnY2hhcmFjdGVyJyk7CitzaG91
bGRCZVRydWUoJ2ludGVybmFscy5oYXNTcGVsbGluZ01hcmtlcihkb2N1bWVudCwgMCwgMiknKTsK
K2xheW91dFRlc3RDb250cm9sbGVyLnNldEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVk
KGZhbHNlKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>