<?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>46345</bug_id>
          
          <creation_ts>2010-09-23 03:48:03 -0700</creation_ts>
          <short_desc>[Qt] Refactor QtWebKitPlatformPlugin interface</short_desc>
          <delta_ts>2010-09-23 15:16:19 -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>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          <dependson>46402</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tor Arne Vestbø">vestbo</reporter>
          <assigned_to name="Tor Arne Vestbø">vestbo</assigned_to>
          <cc>abarth</cc>
    
    <cc>ademar</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>luiz</cc>
    
    <cc>raine.makelainen</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>283575</commentid>
    <comment_count>0</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-09-23 03:48:03 -0700</bug_when>
    <thetext>[Qt] Refactor QtWebKitPlatformPlugin interface</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283576</commentid>
    <comment_count>1</comment_count>
      <attachid>68507</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-09-23 03:50:45 -0700</bug_when>
    <thetext>Created attachment 68507
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283577</commentid>
    <comment_count>2</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-09-23 03:54:14 -0700</bug_when>
    <thetext>Committed r68128: &lt;http://trac.webkit.org/changeset/68128&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283580</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-23 04:22:49 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/68128 might have broken Qt Linux Release minimal, Qt Linux ARMv5 Release, and Qt Linux ARMv7 Release
The following changes are on the blame list:
http://trac.webkit.org/changeset/68128
http://trac.webkit.org/changeset/68129</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283582</commentid>
    <comment_count>4</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-09-23 04:31:15 -0700</bug_when>
    <thetext>Commited r68130: &lt;http://trac.webkit.org/changeset/68130&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283741</commentid>
    <comment_count>5</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2010-09-23 10:25:29 -0700</bug_when>
    <thetext>Cherry-picking it to 2.1 requires a backport due to conflicts with r64829  &lt;http://trac.webkit.org/changeset/64829&gt;, Bug 43427

The most important change affecting the cherry-pick appears to be the change of the createSelectInputMethod() signature in r64829:

(WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp)
-QtAbstractWebPopup* QtPlatformPlugin::createSelectInputMethod()
+QWebSelectMethod* QtPlatformPlugin::createSelectInputMethod()

BTW, r64829 is a large patch and trying to cherry-pick it I see even more conflicts (6 conflicting files). Apparently it requires the changes from Bug 42592 (also a large patch, with 9 file conflicts when cherry-picking to 2.1)

/o\ :-)

Does it make sense to backport only this patch to 2.1, without the previous changes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283788</commentid>
    <comment_count>6</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-09-23 11:03:58 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Cherry-picking it to 2.1 requires a backport due to conflicts with r64829  &lt;http://trac.webkit.org/changeset/64829&gt;, Bug 43427
&gt; 
&gt; The most important change affecting the cherry-pick appears to be the change of the createSelectInputMethod() signature in r64829:
&gt; 
&gt; (WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp)
&gt; -QtAbstractWebPopup* QtPlatformPlugin::createSelectInputMethod()
&gt; +QWebSelectMethod* QtPlatformPlugin::createSelectInputMethod()
&gt; 
&gt; BTW, r64829 is a large patch and trying to cherry-pick it I see even more conflicts (6 conflicting files). Apparently it requires the changes from Bug 42592 (also a large patch, with 9 file conflicts when cherry-picking to 2.1)
&gt; 
&gt; /o\ :-)
&gt; 
&gt; Does it make sense to backport only this patch to 2.1, without the previous changes?

I think that in 2.1 it should be:

QtAbstractWebPopup* QtPlatformPlugin::createSelectInputMethod()
{
     QWebKitPlatformPlugin* p = plugin();
     if (!p)
       return 0;

-    QWebSelectMethod* selector = p-&gt;createSelectInputMethod();
+   QWebSelectMethod* selector =qobject_cast&lt;QWebSelectMethod*&gt;(p-&gt;createExtension(QWebKitPlatformPlugin::MultipleSelections)) : 0;

    if (!selector)
        return 0;

    return new SelectInputMethodWrapper(selector);
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283791</commentid>
    <comment_count>7</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-09-23 11:09:06 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; Cherry-picking it to 2.1 requires a backport due to conflicts with r64829  &lt;http://trac.webkit.org/changeset/64829&gt;, Bug 43427
&gt; &gt; 
&gt; &gt; The most important change affecting the cherry-pick appears to be the change of the createSelectInputMethod() signature in r64829:
&gt; &gt; 
&gt; &gt; (WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp)
&gt; &gt; -QtAbstractWebPopup* QtPlatformPlugin::createSelectInputMethod()
&gt; &gt; +QWebSelectMethod* QtPlatformPlugin::createSelectInputMethod()
&gt; &gt; 
&gt; &gt; BTW, r64829 is a large patch and trying to cherry-pick it I see even more conflicts (6 conflicting files). Apparently it requires the changes from Bug 42592 (also a large patch, with 9 file conflicts when cherry-picking to 2.1)
&gt; &gt; 
&gt; &gt; /o\ :-)
&gt; &gt; 
&gt; &gt; Does it make sense to backport only this patch to 2.1, without the previous changes?
&gt; 
&gt; I think that in 2.1 it should be:
&gt; 
&gt; QtAbstractWebPopup* QtPlatformPlugin::createSelectInputMethod()
&gt; {
&gt;      QWebKitPlatformPlugin* p = plugin();
&gt;      if (!p)
&gt;        return 0;
&gt; 
&gt; -    QWebSelectMethod* selector = p-&gt;createSelectInputMethod();
&gt; +   QWebSelectMethod* selector =qobject_cast&lt;QWebSelectMethod*&gt;(p-&gt;createExtension(QWebKitPlatformPlugin::MultipleSelections)) : 0;
&gt; 
&gt;     if (!selector)
&gt;         return 0;
&gt; 
&gt;     return new SelectInputMethodWrapper(selector);
&gt; }

please ignore the &quot;: 0&quot; in inserted line in the previous comment. :)

the correct line is:

+   QWebSelectMethod* selector =qobject_cast&lt;QWebSelectMethod*&gt;(p-&gt;createExtension(QWebKitPlatformPlugin::MultipleSelections));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283916</commentid>
    <comment_count>8</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2010-09-23 13:38:08 -0700</bug_when>
    <thetext>Besides the already discussed change on QtPlatformPlugin::createSelectInputMethod(), we also need the patch from Bug 46402 and the following change:

--- a/WebCore/platform/qt/PlatformHapticsQt.cpp
+++ b/WebCore/platform/qt/PlatformHapticsQt.cpp
@@ -33,7 +33,7 @@ void initHaptics()
 
     if (!pluginLoaded) {
         if (platformPlugin.plugin() &amp;&amp; platformPlugin.plugin()-&gt;supportsExtension(QWebKitPlatformPlugin::Haptics))
-            player = platformPlugin.plugin()-&gt;createHapticFeedbackPlayer();
+            player = qobject_cast&lt;QWebHapticFeedbackPlayer*&gt;(platformPlugin.plugin()-&gt;createExtension(QWebKitPlatformPlugin::Haptics));
         pluginLoaded = true;
     }
 }

With those changes I can build and run QtTestBrowser - although I couldn&apos;t manage to test the new plugin interface. Anything else?

Does somebody has a testcase or a plugin I can use to test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283932</commentid>
    <comment_count>9</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-09-23 14:05:57 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Besides the already discussed change on QtPlatformPlugin::createSelectInputMethod(), we also need the patch from Bug 46402 and the following change:
&gt; 
&gt; --- a/WebCore/platform/qt/PlatformHapticsQt.cpp
&gt; +++ b/WebCore/platform/qt/PlatformHapticsQt.cpp
&gt; @@ -33,7 +33,7 @@ void initHaptics()
&gt; 
&gt;      if (!pluginLoaded) {
&gt;          if (platformPlugin.plugin() &amp;&amp; platformPlugin.plugin()-&gt;supportsExtension(QWebKitPlatformPlugin::Haptics))
&gt; -            player = platformPlugin.plugin()-&gt;createHapticFeedbackPlayer();
&gt; +            player = qobject_cast&lt;QWebHapticFeedbackPlayer*&gt;(platformPlugin.plugin()-&gt;createExtension(QWebKitPlatformPlugin::Haptics));
&gt;          pluginLoaded = true;
&gt;      }
&gt;  }
&gt; 

This part should ideally be refactored into the WebCore-side helper QtPlatformPlugin like the others, so the qobject_cast is hidden.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283956</commentid>
    <comment_count>10</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2010-09-23 14:34:40 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt;
&lt;snip&gt;
&gt; --- a/WebCore/platform/qt/PlatformHapticsQt.cpp
&gt; +++ b/WebCore/platform/qt/PlatformHapticsQt.cpp
&lt;snip&gt;
&gt; 
&gt; This part should ideally be refactored into the WebCore-side helper QtPlatformPlugin like the others, so the qobject_cast is hidden.

Sure. It also applies to trunk. Bug 46402 has been updated (includes patch)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284012</commentid>
    <comment_count>11</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2010-09-23 15:16:08 -0700</bug_when>
    <thetext>Revision r68128 cherry-picked into qtwebkit-2.1 with commit 9b5a4b4 &lt;http://gitorious.org/webkit/qtwebkit/commit/9b5a4b4&gt;
Revision r68130 cherry-picked into qtwebkit-2.1 with commit 0f90c4b &lt;http://gitorious.org/webkit/qtwebkit/commit/0f90c4b&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68507</attachid>
            <date>2010-09-23 03:50:45 -0700</date>
            <delta_ts>2010-09-23 03:51:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46345-20100923125042.patch</filename>
            <type>text/plain</type>
            <size>9182</size>
            <attacher name="Tor Arne Vestbø">vestbo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBjL1dlYktpdC9xdC9BcGkvcXdlYmtpdHBsYXRmb3JtcGx1Z2luLmggdy9XZWJL
aXQvcXQvQXBpL3F3ZWJraXRwbGF0Zm9ybXBsdWdpbi5oCmluZGV4IDc2NDk2YzVjN2M0Yjg0NzVi
ZGI0Zjc1YzRmNmFjNDZmN2E1MzUyODQuLmZhYTY5ODk0MjYxZjdkODcxMWIzNDdmMzgzN2FkMGRi
MjI1ZGVjMjcgMTAwNjQ0Ci0tLSBjL1dlYktpdC9xdC9BcGkvcXdlYmtpdHBsYXRmb3JtcGx1Z2lu
LmgKKysrIHcvV2ViS2l0L3F0L0FwaS9xd2Via2l0cGxhdGZvcm1wbHVnaW4uaApAQCAtMTEwLDEy
ICsxMTAsOSBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0V4
dGVuc2lvbihFeHRlbnNpb24gZXh0ZW5zaW9uKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBRV2Vi
U2VsZWN0TWV0aG9kKiBjcmVhdGVTZWxlY3RJbnB1dE1ldGhvZCgpIGNvbnN0ID0gMDsKLSAgICB2
aXJ0dWFsIFFXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIqIGNyZWF0ZU5vdGlmaWNhdGlvblByZXNl
bnRlcigpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIFFXZWJIYXB0aWNGZWVkYmFja1BsYXllciog
Y3JlYXRlSGFwdGljRmVlZGJhY2tQbGF5ZXIoKSBjb25zdCA9IDA7Ci0KKyAgICB2aXJ0dWFsIFFP
YmplY3QqIGNyZWF0ZUV4dGVuc2lvbihFeHRlbnNpb24gZXh0ZW5zaW9uKSBjb25zdCA9IDA7CiB9
OwogCi1RX0RFQ0xBUkVfSU5URVJGQUNFKFFXZWJLaXRQbGF0Zm9ybVBsdWdpbiwgImNvbS5ub2tp
YS5RdC5XZWJLaXQuUGxhdGZvcm1QbHVnaW4vMS40Iik7CitRX0RFQ0xBUkVfSU5URVJGQUNFKFFX
ZWJLaXRQbGF0Zm9ybVBsdWdpbiwgImNvbS5ub2tpYS5RdC5XZWJLaXQuUGxhdGZvcm1QbHVnaW4v
MS41Iik7CiAKICNlbmRpZiAvLyBRV0VCS0lUUExBVEZPUk1QTFVHSU5fSApkaWZmIC0tZ2l0IGMv
V2ViS2l0L3F0L0NoYW5nZUxvZyB3L1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggYTkyYjczYzIw
YmM5MjE2N2FjYTdhOGNkNjk3Y2UxYjEzZTY3NzVmYy4uMDZhYTFlNGVmZjFhMTZmMmE3YmU4OGZh
ZTBlOTg3NzlmMjhjOWI2OCAxMDA2NDQKLS0tIGMvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgdy9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAtMDktMjMgIFRvciBBcm5l
IFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IFNpbW9uIEhhdXNtYW5uLgorCisgICAgICAgIFtRdF0gUmVmYWN0b3IgUXRXZWJLaXRQbGF0
Zm9ybVBsdWdpbiBpbnRlcmZhY2UKKworICAgICAgICBNYWtlIGl0IGVhc2llciB0byBrZWVwIHNv
dXJjZS1jb21wYWJpbGl0eSBmb3IgdGhlIAorICAgICAgICBRdFdlYktpdFBsYXRmb3JtUGx1Z2lu
IGludGVyZmFjZSwgYW5kIHJ1biBxbWFrZQorICAgICAgICBvbiB0aGUgZXhhbXBsZSAoYnV0IG5v
dCBidWlsZCkgZm9yIGNvbnZlbmllbmNlLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00NjM0NQorCisgICAgICAgICogQXBpL3F3ZWJraXRwbGF0Zm9y
bXBsdWdpbi5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1F0UGxhdGZvcm1QbHVnaW4uY3Bw
OgorICAgICAgICAqIGV4YW1wbGVzL3BsYXRmb3JtcGx1Z2luL1JFQURNRToKKyAgICAgICAgKiBl
eGFtcGxlcy9wbGF0Zm9ybXBsdWdpbi9XZWJQbHVnaW4uY3BwOgorICAgICAgICAqIGV4YW1wbGVz
L3BsYXRmb3JtcGx1Z2luL1dlYlBsdWdpbi5oOgorICAgICAgICAqIGV4YW1wbGVzL3BsYXRmb3Jt
cGx1Z2luL3F3ZWJraXRwbGF0Zm9ybXBsdWdpbi5oOgorCiAyMDEwLTA5LTIyICBBbmRyYXMgQmVj
c2kgIDxhYmVjc2lAd2Via2l0Lm9yZz4KIAogICAgICAgICBTcGVjdWxhdGl2ZSBidWlsZCBmaXgg
Zm9yIHRoZSBRdCBXaW5kb3dzIGJvdHMuCmRpZmYgLS1naXQgYy9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvUXRQbGF0Zm9ybVBsdWdpbi5jcHAgdy9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRQ
bGF0Zm9ybVBsdWdpbi5jcHAKaW5kZXggZmQ4NmU5MWU0OTI3OTA4Y2FiMzg0MmQ3NDUyZDY4NjM2
ZDNmZWM2MC4uNmRkOTFhMWFiZjFmMjNiZDI1MGRmY2RmMmEzNzY5YzQ2MWM4YzY1YSAxMDA2NDQK
LS0tIGMvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0UGxhdGZvcm1QbHVnaW4uY3BwCisrKyB3
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdFBsYXRmb3JtUGx1Z2luLmNwcApAQCAtOTEsMTYg
KzkxLDE0IEBAIFFXZWJLaXRQbGF0Zm9ybVBsdWdpbiogUXRQbGF0Zm9ybVBsdWdpbjo6cGx1Z2lu
KCkKIFFXZWJTZWxlY3RNZXRob2QqIFF0UGxhdGZvcm1QbHVnaW46OmNyZWF0ZVNlbGVjdElucHV0
TWV0aG9kKCkKIHsKICAgICBRV2ViS2l0UGxhdGZvcm1QbHVnaW4qIHAgPSBwbHVnaW4oKTsKLSAg
ICByZXR1cm4gcCA/IHAtPmNyZWF0ZVNlbGVjdElucHV0TWV0aG9kKCkgOiAwOworICAgIHJldHVy
biBwID8gcW9iamVjdF9jYXN0PFFXZWJTZWxlY3RNZXRob2QqPihwLT5jcmVhdGVFeHRlbnNpb24o
UVdlYktpdFBsYXRmb3JtUGx1Z2luOjpNdWx0aXBsZVNlbGVjdGlvbnMpKSA6IDA7CiB9CiAKIAog
UVdlYk5vdGlmaWNhdGlvblByZXNlbnRlciogUXRQbGF0Zm9ybVBsdWdpbjo6Y3JlYXRlTm90aWZp
Y2F0aW9uUHJlc2VudGVyKCkKIHsKICAgICBRV2ViS2l0UGxhdGZvcm1QbHVnaW4qIHAgPSBwbHVn
aW4oKTsKLSAgICBpZiAoIXApCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBwLT5jcmVh
dGVOb3RpZmljYXRpb25QcmVzZW50ZXIoKTsKKyAgICByZXR1cm4gcCA/IHFvYmplY3RfY2FzdDxR
V2ViTm90aWZpY2F0aW9uUHJlc2VudGVyKj4ocC0+Y3JlYXRlRXh0ZW5zaW9uKFFXZWJLaXRQbGF0
Zm9ybVBsdWdpbjo6Tm90aWZpY2F0aW9ucykpIDogMDsKIH0KIAogfQpkaWZmIC0tZ2l0IGMvV2Vi
S2l0L3F0L2V4YW1wbGVzL3BsYXRmb3JtcGx1Z2luL1JFQURNRSB3L1dlYktpdC9xdC9leGFtcGxl
cy9wbGF0Zm9ybXBsdWdpbi9SRUFETUUKaW5kZXggNDdlZjc5NzNhZDM4NDE1MWUyOTI4OGZiNjUw
ODQxYTMxYTRmMzE4Yy4uZTIyMGQwNDE1ODgyZjYxNzQxNWIzODU1MzZjY2FiN2QxMDc1Mzg0YSAx
MDA2NDQKLS0tIGMvV2ViS2l0L3F0L2V4YW1wbGVzL3BsYXRmb3JtcGx1Z2luL1JFQURNRQorKysg
dy9XZWJLaXQvcXQvZXhhbXBsZXMvcGxhdGZvcm1wbHVnaW4vUkVBRE1FCkBAIC02LDYgKzYsOSBA
QCB0aGF0IHdpbGwgcHJvdmlkZSBjb21ibyBib3hlcyBwb3B1cHMgdG8gUXRXZWJLaXQuCiBRdFdl
YktpdCB3aWxsIGxvb2sgZm9yIHRoZSBwbHVnaW5zIGF1dG9tYXRpY2FsbHkgc28gdGhlcmUgaXMg
bm8gbmVlZCB0byBtYWtlIGFueSBvdGhlciBjb25maWd1cmF0aW9uIHRvCiBwdXQgdGhlIHBsdWdp
biBpbnRvIHVzZS4gVG8gc3RvcCB1c2luZyB0aGUgcGx1Z2luIGp1c3QgcmVtb3ZlIHRoZSBkaXJl
Y3RvcnkgJCRbUVRfSU5TVEFMTF9QTFVHSU5TXS93ZWJraXQuCiAKK0EgY29weSBvZiBxd2Via2l0
cGxhdGZvcm1wbHVnaW4uaCBpcyBwcm92aWRlZCB3aXRoIHRoZSBleGFtcGxlLCBhcyBwbGF0Zm9y
bSBwbHVnaW5zIHNob3VsZCBub3QgZGVwZW5kCitvbiB0aGUgcHJlY2Vuc2Ugb2YgUXRXZWJLaXQg
dG8gYnVpbGQuCisKIFRoaXMgcGx1Z2luIGNhbiBwcm92aWRlIHBvcHVwcyBmb3IgPHNlbGVjdCBt
dWx0aXBsZT4gZWxlbWVudHMgYnV0IHRvIHVzZSB0aGlzIGZlYXR1cmUgUXRXZWJLaXQgbXVzdCBi
ZQogY29tcGlsZWQgd2l0aCBOT19MSVNUQk9YX1JFTkRFUklORyBlbmFibGVkLgogCmRpZmYgLS1n
aXQgYy9XZWJLaXQvcXQvZXhhbXBsZXMvcGxhdGZvcm1wbHVnaW4vV2ViUGx1Z2luLmNwcCB3L1dl
YktpdC9xdC9leGFtcGxlcy9wbGF0Zm9ybXBsdWdpbi9XZWJQbHVnaW4uY3BwCmluZGV4IGMzZWZi
ODAxZTU1OTFiYmE0MzJjNTIyMzY5MjExYTI1MzFhMTdiNDMuLjIzYjkzOGUxZTRiZmU4YTBjNGZm
ODM3MzEyZWM3NjExZDhjYWE3NTIgMTAwNjQ0Ci0tLSBjL1dlYktpdC9xdC9leGFtcGxlcy9wbGF0
Zm9ybXBsdWdpbi9XZWJQbHVnaW4uY3BwCisrKyB3L1dlYktpdC9xdC9leGFtcGxlcy9wbGF0Zm9y
bXBsdWdpbi9XZWJQbHVnaW4uY3BwCkBAIC0yMTAsMTUgKzIxMCwzMCBAQCBNdWx0aXBsZVNlbGVj
dGlvblBvcHVwOjpNdWx0aXBsZVNlbGVjdGlvblBvcHVwKGNvbnN0IFFXZWJTZWxlY3REYXRhJiBk
YXRhKQogCiBib29sIFdlYlBsdWdpbjo6c3VwcG9ydHNFeHRlbnNpb24oRXh0ZW5zaW9uIGV4dGVu
c2lvbikgY29uc3QKIHsKLSAgICBpZiAoZXh0ZW5zaW9uID09IE11bHRpcGxlU2VsZWN0aW9ucykK
KyAgICBzd2l0Y2ggKGV4dGVuc2lvbikgeworICAgIGNhc2UgTXVsdGlwbGVTZWxlY3Rpb25zOgog
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBpZiAoZXh0ZW5zaW9uID09IE5vdGlmaWNhdGlvbnMp
CiAjaWYgRU5BQkxFX05PVElGSUNBVElPTlMKKyAgICBjYXNlIE5vdGlmaWNhdGlvbnM6CiAgICAg
ICAgIHJldHVybiB0cnVlOwotI2Vsc2UKKyNlbmRpZgorICAgIGRlZmF1bHQ6CiAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9Cit9CisKK1FPYmplY3QqIFdlYlBsdWdpbjo6Y3JlYXRlRXh0ZW5z
aW9uKEV4dGVuc2lvbiBleHRlbnNpb24pIGNvbnN0Cit7CisgICAgc3dpdGNoIChleHRlbnNpb24p
IHsKKyAgICBjYXNlIE11bHRpcGxlU2VsZWN0aW9uczoKKyAgICAgICAgcmV0dXJuIG5ldyBXZWJQ
b3B1cCgpOworI2lmIEVOQUJMRV9OT1RJRklDQVRJT05TCisgICAgY2FzZSBOb3RpZmljYXRpb25z
OgorICAgICAgICByZXR1cm4gbmV3IFdlYk5vdGlmaWNhdGlvblByZXNlbnRlcigpOwogI2VuZGlm
Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiAwOworICAg
IH0KIH0KIAogUV9FWFBPUlRfUExVR0lOMihwbGF0Zm9ybXBsdWdpbiwgV2ViUGx1Z2luKQpkaWZm
IC0tZ2l0IGMvV2ViS2l0L3F0L2V4YW1wbGVzL3BsYXRmb3JtcGx1Z2luL1dlYlBsdWdpbi5oIHcv
V2ViS2l0L3F0L2V4YW1wbGVzL3BsYXRmb3JtcGx1Z2luL1dlYlBsdWdpbi5oCmluZGV4IDRhZjE5
Zjk5Zjg1M2Y1ZWJkZDMxM2M4NzllMjlmY2RmMTNhYTgwYjguLjNkZjM0NWY5YWQxMmM2MDUwODA5
YzU5YzA1NWRkNmNjZjFmOTIyODMgMTAwNjQ0Ci0tLSBjL1dlYktpdC9xdC9leGFtcGxlcy9wbGF0
Zm9ybXBsdWdpbi9XZWJQbHVnaW4uaAorKysgdy9XZWJLaXQvcXQvZXhhbXBsZXMvcGxhdGZvcm1w
bHVnaW4vV2ViUGx1Z2luLmgKQEAgLTg3LDE0ICs4Nyw4IEBAIGNsYXNzIFdlYlBsdWdpbiA6IHB1
YmxpYyBRT2JqZWN0LCBwdWJsaWMgUVdlYktpdFBsYXRmb3JtUGx1Z2luCiAgICAgUV9PQkpFQ1QK
ICAgICBRX0lOVEVSRkFDRVMoUVdlYktpdFBsYXRmb3JtUGx1Z2luKQogcHVibGljOgotICAgIHZp
cnR1YWwgUVdlYlNlbGVjdE1ldGhvZCogY3JlYXRlU2VsZWN0SW5wdXRNZXRob2QoKSBjb25zdCB7
IHJldHVybiBuZXcgV2ViUG9wdXAoKTsgfQogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0V4dGVu
c2lvbihFeHRlbnNpb24gZXh0ZW5zaW9uKSBjb25zdDsKLSAgICB2aXJ0dWFsIFFXZWJOb3RpZmlj
YXRpb25QcmVzZW50ZXIqIGNyZWF0ZU5vdGlmaWNhdGlvblByZXNlbnRlcigpIGNvbnN0IHsKLSAg
ICAgICAgcmV0dXJuIG5ldyBXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIoKTsKLSAgICB9Ci0gICAg
dmlydHVhbCBRV2ViSGFwdGljRmVlZGJhY2tQbGF5ZXIqIGNyZWF0ZUhhcHRpY0ZlZWRiYWNrUGxh
eWVyKCkgY29uc3QgewotICAgICAgICByZXR1cm4gMDsKLSAgICB9CisgICAgdmlydHVhbCBRT2Jq
ZWN0KiBjcmVhdGVFeHRlbnNpb24oRXh0ZW5zaW9uIGV4dGVuc2lvbikgY29uc3Q7CiB9OwogCiAj
ZW5kaWYgLy8gV0VCUExVR0lOX0gKZGlmZiAtLWdpdCBjL1dlYktpdC9xdC9leGFtcGxlcy9wbGF0
Zm9ybXBsdWdpbi9xd2Via2l0cGxhdGZvcm1wbHVnaW4uaCB3L1dlYktpdC9xdC9leGFtcGxlcy9w
bGF0Zm9ybXBsdWdpbi9xd2Via2l0cGxhdGZvcm1wbHVnaW4uaAppbmRleCA3NjQ5NmM1YzdjNGI4
NDc1YmRiNGY3NWM0ZjZhYzQ2ZjdhNTM1Mjg0Li5mYWE2OTg5NDI2MWY3ZDg3MTFiMzQ3ZjM4Mzdh
ZDBkYjIyNWRlYzI3IDEwMDY0NAotLS0gYy9XZWJLaXQvcXQvZXhhbXBsZXMvcGxhdGZvcm1wbHVn
aW4vcXdlYmtpdHBsYXRmb3JtcGx1Z2luLmgKKysrIHcvV2ViS2l0L3F0L2V4YW1wbGVzL3BsYXRm
b3JtcGx1Z2luL3F3ZWJraXRwbGF0Zm9ybXBsdWdpbi5oCkBAIC0xMTAsMTIgKzExMCw5IEBAIHB1
YmxpYzoKICAgICB9OwogCiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRXh0ZW5zaW9uKEV4dGVu
c2lvbiBleHRlbnNpb24pIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIFFXZWJTZWxlY3RNZXRob2Qq
IGNyZWF0ZVNlbGVjdElucHV0TWV0aG9kKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgUVdlYk5v
dGlmaWNhdGlvblByZXNlbnRlciogY3JlYXRlTm90aWZpY2F0aW9uUHJlc2VudGVyKCkgY29uc3Qg
PSAwOwotICAgIHZpcnR1YWwgUVdlYkhhcHRpY0ZlZWRiYWNrUGxheWVyKiBjcmVhdGVIYXB0aWNG
ZWVkYmFja1BsYXllcigpIGNvbnN0ID0gMDsKLQorICAgIHZpcnR1YWwgUU9iamVjdCogY3JlYXRl
RXh0ZW5zaW9uKEV4dGVuc2lvbiBleHRlbnNpb24pIGNvbnN0ID0gMDsKIH07CiAKLVFfREVDTEFS
RV9JTlRFUkZBQ0UoUVdlYktpdFBsYXRmb3JtUGx1Z2luLCAiY29tLm5va2lhLlF0LldlYktpdC5Q
bGF0Zm9ybVBsdWdpbi8xLjQiKTsKK1FfREVDTEFSRV9JTlRFUkZBQ0UoUVdlYktpdFBsYXRmb3Jt
UGx1Z2luLCAiY29tLm5va2lhLlF0LldlYktpdC5QbGF0Zm9ybVBsdWdpbi8xLjUiKTsKIAogI2Vu
ZGlmIC8vIFFXRUJLSVRQTEFURk9STVBMVUdJTl9ICmRpZmYgLS1naXQgYy9XZWJLaXRUb29scy9D
aGFuZ2VMb2cgdy9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggN2NmZGEwY2NmZTdhM2FmYmNk
MmFhYWM4NTRjYjljMzdlNjQxNmM2ZC4uOWI1OWQxNzYyY2VhYjQ4YjUwZDUyMmQyZjc0YjZlMjk4
NjVlM2E3OSAxMDA2NDQKLS0tIGMvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyB3L1dlYktpdFRv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEwLTA5LTIzICBUb3IgQXJuZSBWZXN0
YsO4ICA8dG9yLmFybmUudmVzdGJvQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBT
aW1vbiBIYXVzbWFubi4KKworICAgICAgICBbUXRdIFJlZmFjdG9yIFF0V2ViS2l0UGxhdGZvcm1Q
bHVnaW4gaW50ZXJmYWNlCisKKyAgICAgICAgTWFrZSBpdCBlYXNpZXIgdG8ga2VlcCBzb3VyY2Ut
Y29tcGFiaWxpdHkgZm9yIHRoZQorICAgICAgICBRdFdlYktpdFBsYXRmb3JtUGx1Z2luIGludGVy
ZmFjZSwgYW5kIHJ1biBxbWFrZQorICAgICAgICBvbiB0aGUgZXhhbXBsZSAoYnV0IG5vdCBidWls
ZCkgZm9yIGNvbnZlbmllbmNlLiAKKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDYzNDUKKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbToK
KwogMjAxMC0wOS0yMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGMvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRkaXJzLnBtIHcvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4
IDQwYTE2MzM3YzNlYjU0YTgyNzIwYjBlNWZlYmI2OTJiZmUxZTkzODUuLjA4ZTE0YWJkOTBhMTkw
YjNlMjM1OGM5OTNjYzk1OGM2YWM4MTE2NTggMTAwNjQ0Ci0tLSBjL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0ZGlycy5wbQorKysgdy9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0K
QEAgLTE1NDYsNyArMTU0Niw2IEBAIHN1YiBidWlsZFFNYWtlUHJvamVjdCgkQCkKICAgICAgICAg
fQogICAgIH0KIAotICAgIHB1c2ggQGJ1aWxkQXJncywgc291cmNlRGlyKCkgLiAiL1dlYktpdC5w
cm8iOwogICAgIGlmICgkY29uZmlnID1+IG0vZGVidWcvaSkgewogICAgICAgICBwdXNoIEBidWls
ZEFyZ3MsICJDT05GSUctPXJlbGVhc2UiOwogICAgICAgICBwdXNoIEBidWlsZEFyZ3MsICJDT05G
SUcrPWRlYnVnIjsKQEAgLTE1NjEsNiArMTU2MCw4IEBAIHN1YiBidWlsZFFNYWtlUHJvamVjdCgk
QCkKICAgICAgICAgfQogICAgIH0KIAorICAgIHB1c2ggQGJ1aWxkQXJncywgc291cmNlRGlyKCkg
LiAiL1dlYktpdC5wcm8iOworCiAgICAgcHJpbnQgIkNhbGxpbmcgJyRxbWFrZWJpbiBAYnVpbGRB
cmdzJyBpbiAiIC4gJGRpciAuICJcblxuIjsKICAgICBwcmludCAiSW5zdGFsbGF0aW9uIGhlYWRl
cnMgZGlyZWN0b3J5OiAkaW5zdGFsbEhlYWRlcnNcbiIgaWYoZGVmaW5lZCgkaW5zdGFsbEhlYWRl
cnMpKTsKICAgICBwcmludCAiSW5zdGFsbGF0aW9uIGxpYnJhcmllcyBkaXJlY3Rvcnk6ICRpbnN0
YWxsTGlic1xuIiBpZihkZWZpbmVkKCRpbnN0YWxsTGlicykpOwpAQCAtMTU3MCw2ICsxNTcxLDE2
IEBAIHN1YiBidWlsZFFNYWtlUHJvamVjdCgkQCkKICAgICAgICBkaWUgIkZhaWxlZCB0byBzZXR1
cCBidWlsZCBlbnZpcm9ubWVudCB1c2luZyAkcW1ha2ViaW4hXG4iOwogICAgIH0KIAorICAgICMg
TWFudWFsbHkgY3JlYXRlIG1ha2VmaWxlcyBmb3IgdGhlIGV4YW1wbGVzIHNvIHdlIGRvbid0IGJ1
aWxkIGJ5IGRlZmF1bHQKKyAgICBteSAkZXhhbXBsZXNEaXIgPSAkZGlyIC4gIi9XZWJLaXQvcXQv
ZXhhbXBsZXMiOworICAgIEZpbGU6OlBhdGg6Om1rcGF0aCgkZXhhbXBsZXNEaXIpOworICAgICRi
dWlsZEFyZ3NbLTFdID0gc291cmNlRGlyKCkgLiAiL1dlYktpdC9xdC9leGFtcGxlcy9leGFtcGxl
cy5wcm8iOworICAgIGNoZGlyICRleGFtcGxlc0RpciBvciBkaWU7CisgICAgcHJpbnQgIkNhbGxp
bmcgJyRxbWFrZWJpbiBAYnVpbGRBcmdzJyBpbiAiIC4gJGV4YW1wbGVzRGlyIC4gIlxuXG4iOwor
ICAgICRyZXN1bHQgPSBzeXN0ZW0gIiRxbWFrZWJpbiBAYnVpbGRBcmdzIjsKKyAgICBkaWUgIkZh
aWxlZCB0byBjcmVhdGUgbWFrZWZpbGVzIGZvciB0aGUgZXhhbXBsZXMhXG4iIGlmICRyZXN1bHQg
bmUgMDsKKyAgICBjaGRpciAkZGlyIG9yIGRpZTsKKwogICAgIGlmICgkY2xlYW4pIHsKICAgICAg
IHByaW50ICJDYWxsaW5nICckbWFrZSAkbWFrZWFyZ3MgZGlzdGNsZWFuJyBpbiAiIC4gJGRpciAu
ICJcblxuIjsKICAgICAgICRyZXN1bHQgPSBzeXN0ZW0gIiRtYWtlICRtYWtlYXJncyBkaXN0Y2xl
YW4iOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>