<?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>125488</bug_id>
          
          <creation_ts>2013-12-10 02:06:26 -0800</creation_ts>
          <short_desc>[GStreamer] Use g_object_notify_by_pspec in custom elements</short_desc>
          <delta_ts>2014-02-13 06:59:53 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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="Brendan Long">b.long</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>958251</commentid>
    <comment_count>0</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-12-10 02:06:26 -0800</bug_when>
    <thetext>WebKitWebSource and WebKitTextCombiner both use g_object_emit. g_object_emit_by_psec would be more efficient, and not really any more complicated. I haven&apos;t done much of a search, so there may be other cases as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968324</commentid>
    <comment_count>1</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-01-15 08:12:14 -0800</bug_when>
    <thetext>I think I meant we should replace g_object_notify with g_object_notify_by_pspec. It might also be worth replacing g_signal_emit_by_name with g_signal_emit where we can, but I haven&apos;t looked into that more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968342</commentid>
    <comment_count>2</comment_count>
      <attachid>221273</attachid>
    <who name="Brendan Long">self</who>
    <bug_when>2014-01-15 09:12:20 -0800</bug_when>
    <thetext>Created attachment 221273
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968343</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-15 09:14:30 -0800</bug_when>
    <thetext>Attachment 221273 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/platform/graphics/gstreamer/TextCombinerGStreamer.cpp&apos;, u&apos;Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp&apos;, &apos;--commit-queue&apos;]&quot; exit_code: 1
ERROR: Source/WebCore/platform/graphics/gstreamer/TextCombinerGStreamer.cpp:49:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/graphics/gstreamer/TextCombinerGStreamer.cpp:50:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968347</commentid>
    <comment_count>4</comment_count>
      <attachid>221273</attachid>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-01-15 09:16:26 -0800</bug_when>
    <thetext>Comment on attachment 221273
Patch

There are a lot of other places where we could make similar changes, but since they&apos;re not media-related, I&apos;m not sure how effectively I could test them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968348</commentid>
    <comment_count>5</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-01-15 09:17:13 -0800</bug_when>
    <thetext>The style failure is because GStreamer enums don&apos;t match WebKit&apos;s style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968615</commentid>
    <comment_count>6</comment_count>
      <attachid>221273</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-01-15 22:53:27 -0800</bug_when>
    <thetext>Comment on attachment 221273
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/TextCombinerGStreamer.cpp:216
&gt; -        g_object_notify(G_OBJECT(pad), &quot;tags&quot;);
&gt; +        g_object_notify_by_pspec(G_OBJECT(pad), padProperties[PROP_PAD_TAGS]);

This specific change doesn&apos;t seem really worth to me. Pad events don&apos;t occur that often (I think) and g_object_notify() for this object should already be quite efficient since the class has only one property.

It&apos;s true that _by_pspec is advised but I think it depends how often that code path would be used and also on the number of properties of the class.

&gt; Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:861
&gt; -        g_object_notify(G_OBJECT(src), &quot;iradio-name&quot;);
&gt; +        g_object_notify_by_pspec(G_OBJECT(src), properties[PROP_IRADIO_NAME]);

About this and the following ones, I think I agree with the changes. How often is handleResponseReceived called though?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968800</commentid>
    <comment_count>7</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-01-16 10:03:24 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; &gt; Source/WebCore/platform/graphics/gstreamer/TextCombinerGStreamer.cpp:216
&gt; &gt; -        g_object_notify(G_OBJECT(pad), &quot;tags&quot;);
&gt; &gt; +        g_object_notify_by_pspec(G_OBJECT(pad), padProperties[PROP_PAD_TAGS]);
&gt; 
&gt; This specific change doesn&apos;t seem really worth to me. Pad events don&apos;t occur that often (I think) and g_object_notify() for this object should already be quite efficient since the class has only one property.
&gt; 
&gt; It&apos;s true that _by_pspec is advised but I think it depends how often that code path would be used and also on the number of properties of the class.

That makes sense. The GLib documentation indicated that you should always use g_object_notify_by_pspec if you can, but I guess it doesn&apos;t really matter much in this case.

We actually do get quite a few tag events in a row while the video is loading, but the string comparison in g_object_notify probably isn&apos;t a bottleneck.
 
&gt; &gt; Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:861
&gt; &gt; -        g_object_notify(G_OBJECT(src), &quot;iradio-name&quot;);
&gt; &gt; +        g_object_notify_by_pspec(G_OBJECT(src), properties[PROP_IRADIO_NAME]);
&gt; 
&gt; About this and the following ones, I think I agree with the changes. How often is handleResponseReceived called though?

I&apos;m not really sure. I&apos;ll do some tests to see.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976544</commentid>
    <comment_count>8</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-02-04 15:39:19 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; About this and the following ones, I think I agree with the changes. How often is handleResponseReceived called though?

It only gets called once, near the beginning of the stream, apparently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979481</commentid>
    <comment_count>9</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-02-11 09:53:18 -0800</bug_when>
    <thetext>I can just close this if you don&apos;t think it&apos;s worthwhile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980184</commentid>
    <comment_count>10</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-02-12 23:47:42 -0800</bug_when>
    <thetext>Yes, I don&apos;t think the benefit would be worth it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221273</attachid>
            <date>2014-01-15 09:12:20 -0800</date>
            <delta_ts>2014-02-13 06:59:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125488-20140115111218.patch</filename>
            <type>text/plain</type>
            <size>10611</size>
            <attacher name="Brendan Long">self</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyMDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFmZTg2MWFmMWMyMTJl
NzE5MDA2NDc3YzEwY2I4NzgzY2RhY2M2YS4uZjZiOWY0OTNiNTYzMzNlZjc5MGMxM2VjMGYwZDli
OTdmZTg2ZDI4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTAxLTE1ICBCcmVu
ZGFuIExvbmcgIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBV
c2UgZ19vYmplY3Rfbm90aWZ5X2J5X3BzcGVjIGluIGN1c3RvbSBlbGVtZW50cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1NDg4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBqdXN0
IHJlZmFjdG9yaW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1Rl
eHRDb21iaW5lckdTdHJlYW1lci5jcHA6CisgICAgICAgICh3ZWJraXRUZXh0Q29tYmluZXJQYWRF
dmVudCk6IFVzZSBnX29iamVjdF9ub3RpZnlfYnlfcHNwZWMoKSBpbnN0ZWFkIG9mIGdfb2JqZWN0
X25vdGlmeSgpLgorICAgICAgICAod2Via2l0X3RleHRfY29tYmluZXJfcGFkX2NsYXNzX2luaXQp
OiBTYXZlIHBzcGVjcyB3aGVuIHNldHRpbmcgdXAgcHJvcGVydGllcy4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcDoKKyAg
ICAgICAgKFN0cmVhbWluZ0NsaWVudDo6aGFuZGxlUmVzcG9uc2VSZWNlaXZlZCk6IFVzZSBnX29i
amVjdF9ub3RpZnlfYnlfcHNwZWMoKSBpbnN0ZWFkIG9mIGdfb2JqZWN0X25vdGlmeSgpLgorICAg
ICAgICAod2Via2l0X3dlYl9zcmNfY2xhc3NfaW5pdCk6IFNhdmUgcHNwZWNzIHdoZW4gc2V0dGlu
ZyB1cCBwcm9wZXJ0aWVzLgorCiAyMDE0LTAxLTE0ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgT25lIG1vcmUgYnVpbGRmaXggYWZ0ZXIgcjE2MTk5OS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9U
ZXh0Q29tYmluZXJHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL1RleHRDb21iaW5lckdTdHJlYW1lci5jcHAKaW5kZXggMzM5Y2EzN2ViOGQ5
OGQ5NTUxYzk3ZTViMDhiYTljNDNlYjM2NTNjYS4uMjdlMTM0NzAyYjY2NTk2MTVmMDJmODllMzc3
YzdkZWVlYmZlOWVlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL1RleHRDb21iaW5lckdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1RleHRDb21iaW5lckdTdHJlYW1lci5jcHAK
QEAgLTQ2LDkgKzQ2LDEyIEBAIEdfREVGSU5FX1RZUEVfV0lUSF9DT0RFKFdlYktpdFRleHRDb21i
aW5lciwgd2Via2l0X3RleHRfY29tYmluZXIsIEdTVF9UWVBFX0JJTiwKIAogZW51bSB7CiAgICAg
UFJPUF9QQURfMCwKLSAgICBQUk9QX1BBRF9UQUdTCisgICAgUFJPUF9QQURfVEFHUywKKyAgICBQ
Uk9QX1BBRF9MQVNUCiB9OwogCitzdGF0aWMgR1BhcmFtU3BlYyogcGFkUHJvcGVydGllc1tQUk9Q
X1BBRF9MQVNUXTsKKwogI2RlZmluZSBXRUJLSVRfVFlQRV9URVhUX0NPTUJJTkVSX1BBRCB3ZWJr
aXRfdGV4dF9jb21iaW5lcl9wYWRfZ2V0X3R5cGUoKQogCiAjZGVmaW5lIFdFQktJVF9URVhUX0NP
TUJJTkVSX1BBRChvYmopIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lU
X1RZUEVfVEVYVF9DT01CSU5FUl9QQUQsIFdlYktpdFRleHRDb21iaW5lclBhZCkpCkBAIC0yMTAs
NyArMjEzLDcgQEAgc3RhdGljIGdib29sZWFuIHdlYmtpdFRleHRDb21iaW5lclBhZEV2ZW50KEdz
dFBhZCogcGFkLCBHc3RPYmplY3QqIHBhcmVudCwgR3N0RXYKICAgICAgICAgICAgIGdzdF90YWdf
bGlzdF9pbnNlcnQoY29tYmluZXJQYWQtPnRhZ3MsIHRhZ3MsIEdTVF9UQUdfTUVSR0VfUkVQTEFD
RSk7CiAgICAgICAgIEdTVF9PQkpFQ1RfVU5MT0NLKHBhZCk7CiAKLSAgICAgICAgZ19vYmplY3Rf
bm90aWZ5KEdfT0JKRUNUKHBhZCksICJ0YWdzIik7CisgICAgICAgIGdfb2JqZWN0X25vdGlmeV9i
eV9wc3BlYyhHX09CSkVDVChwYWQpLCBwYWRQcm9wZXJ0aWVzW1BST1BfUEFEX1RBR1NdKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgfQogICAgIGRlZmF1bHQ6CkBAIC0yODgsOSArMjkxLDkgQEAgc3Rh
dGljIHZvaWQgd2Via2l0X3RleHRfY29tYmluZXJfcGFkX2NsYXNzX2luaXQoV2ViS2l0VGV4dENv
bWJpbmVyUGFkQ2xhc3MqIGtsYXMKICAgICBnb2JqZWN0Q2xhc3MtPmZpbmFsaXplID0gR1NUX0RF
QlVHX0ZVTkNQVFIod2Via2l0VGV4dENvbWJpbmVyUGFkRmluYWxpemUpOwogICAgIGdvYmplY3RD
bGFzcy0+Z2V0X3Byb3BlcnR5ID0gR1NUX0RFQlVHX0ZVTkNQVFIod2Via2l0VGV4dENvbWJpbmVy
UGFkR2V0UHJvcGVydHkpOwogCi0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShn
b2JqZWN0Q2xhc3MsIFBST1BfUEFEX1RBR1MsCi0gICAgICAgIGdfcGFyYW1fc3BlY19ib3hlZCgi
dGFncyIsICJUYWdzIiwgIlRoZSBjdXJyZW50bHkgYWN0aXZlIHRhZ3Mgb24gdGhlIHBhZCIsIEdT
VF9UWVBFX1RBR19MSVNULAotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8R1BhcmFtRmxhZ3M+KEdf
UEFSQU1fUkVBREFCTEUgfCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTKSkpOworICAgIHBhZFByb3Bl
cnRpZXNbUFJPUF9QQURfVEFHU10gPSBnX3BhcmFtX3NwZWNfYm94ZWQoInRhZ3MiLCAiVGFncyIs
ICJUaGUgY3VycmVudGx5IGFjdGl2ZSB0YWdzIG9uIHRoZSBwYWQiLAorICAgICAgICBHU1RfVFlQ
RV9UQUdfTElTVCwgc3RhdGljX2Nhc3Q8R1BhcmFtRmxhZ3M+KEdfUEFSQU1fUkVBREFCTEUgfCBH
X1BBUkFNX1NUQVRJQ19TVFJJTkdTKSk7CisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9w
ZXJ0eShnb2JqZWN0Q2xhc3MsIFBST1BfUEFEX1RBR1MsIHBhZFByb3BlcnRpZXNbUFJPUF9QQURf
VEFHU10pOwogfQogCiBHc3RFbGVtZW50KiB3ZWJraXRUZXh0Q29tYmluZXJOZXcoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdl
YlNvdXJjZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCAzYWVlNDhjNDlkZDNh
NDhmODk0OTAyN2QzOWMxMzhmMDg0ODg5MGQxLi43ZGY4ZTFmODBlZTQ5NzRhYTBkYWI2OWU4MGQ3
NDFkNzFhYTEyZGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVy
LmNwcApAQCAtMTQ4LDkgKzE0OCwxMiBAQCBlbnVtIHsKICAgICBQUk9QX0lSQURJT19HRU5SRSwK
ICAgICBQUk9QX0lSQURJT19VUkwsCiAgICAgUFJPUF9JUkFESU9fVElUTEUsCi0gICAgUFJPUF9M
T0NBVElPTgorICAgIFBST1BfTE9DQVRJT04sCisgICAgUFJPUF9MQVNUCiB9OwogCitzdGF0aWMg
R1BhcmFtU3BlYyogcHJvcGVydGllc1tQUk9QX0xBU1RdOworCiBzdGF0aWMgR3N0U3RhdGljUGFk
VGVtcGxhdGUgc3JjVGVtcGxhdGUgPSBHU1RfU1RBVElDX1BBRF9URU1QTEFURSgic3JjIiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEdTVF9QQURfU1JDLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NUX1BBRF9BTFdBWVMsCkBAIC0yMDMsNTYg
KzIwNiwzMCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NyY19jbGFzc19pbml0KFdlYktpdFdl
YlNyY0NsYXNzKiBrbGFzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU2ViYXN0
aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+Iik7CiAKICAgICAv
LyBpY2VjYXN0IHN0dWZmCi0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShva2xh
c3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0lSQURJT19NT0RF
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xl
YW4oImlyYWRpby1tb2RlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJpcmFkaW8tbW9kZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRW5hYmxlIGludGVybmV0IHJhZGlv
IG1vZGUgKGV4dHJhY3Rpb24gb2Ygc2hvdXRjYXN0L2ljZWNhc3QgbWV0YWRhdGEpIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNF
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKEdQYXJhbUZsYWdzKSAoR19QQVJBTV9SRUFEV1JJVEUgfCBHX1BBUkFNX1NUQVRJQ19TVFJJ
TkdTKSkpOwotCi0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShva2xhc3MsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0lSQURJT19OQU1FLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygiaXJh
ZGlvLW5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiaXJhZGlvLW5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiTmFtZSBvZiB0aGUgc3RyZWFtIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEdQYXJh
bUZsYWdzKSAoR19QQVJBTV9SRUFEQUJMRSB8IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKSk7Ci0K
LSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KG9rbGFzcywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfSVJBRElPX0dFTlJFLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygiaXJhZGlvLWdlbnJl
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImlyYWRpby1nZW5yZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJHZW5yZSBvZiB0aGUgc3RyZWFtIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEdQYXJhbUZsYWdz
KSAoR19QQVJBTV9SRUFEQUJMRSB8IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKSk7Ci0KLSAgICBn
X29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KG9rbGFzcywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFBST1BfSVJBRElPX1VSTCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmcoImlyYWRpby11cmwiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXJhZGlv
LXVybCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJIb21lcGFnZSBVUkwgZm9yIHJhZGlvIHN0cmVhbSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChHUGFyYW1GbGFncykg
KEdfUEFSQU1fUkVBREFCTEUgfCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTKSkpOwotCi0gICAgZ19v
YmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShva2xhc3MsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBQUk9QX0lSQURJT19USVRMRSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmcoImlyYWRpby10aXRsZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpcmFk
aW8tdGl0bGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiTmFtZSBvZiBjdXJyZW50bHkgcGxheWluZyBzb25nIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEdQYXJhbUZs
YWdzKSAoR19QQVJBTV9SRUFEQUJMRSB8IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKSk7CisgICAg
cHJvcGVydGllc1tQUk9QX0lSQURJT19NT0RFXSA9IGdfcGFyYW1fc3BlY19ib29sZWFuKCJpcmFk
aW8tbW9kZSIsICJpcmFkaW8tbW9kZSIsCisgICAgICAgICJFbmFibGUgaW50ZXJuZXQgcmFkaW8g
bW9kZSAoZXh0cmFjdGlvbiBvZiBzaG91dGNhc3QvaWNlY2FzdCBtZXRhZGF0YSkiLCBGQUxTRSwK
KyAgICAgICAgKEdQYXJhbUZsYWdzKSAoR19QQVJBTV9SRUFEV1JJVEUgfCBHX1BBUkFNX1NUQVRJ
Q19TVFJJTkdTKSk7CisKKyAgICBwcm9wZXJ0aWVzW1BST1BfSVJBRElPX05BTUVdID0gZ19wYXJh
bV9zcGVjX3N0cmluZygiaXJhZGlvLW5hbWUiLCAiaXJhZGlvLW5hbWUiLAorICAgICAgICAiTmFt
ZSBvZiB0aGUgc3RyZWFtIiwgMCwgKEdQYXJhbUZsYWdzKSAoR19QQVJBTV9SRUFEQUJMRSB8IEdf
UEFSQU1fU1RBVElDX1NUUklOR1MpKTsKKworICAgIHByb3BlcnRpZXNbUFJPUF9JUkFESU9fR0VO
UkVdID0gZ19wYXJhbV9zcGVjX3N0cmluZygiaXJhZGlvLWdlbnJlIiwgImlyYWRpby1nZW5yZSIs
CisgICAgICAgICJHZW5yZSBvZiB0aGUgc3RyZWFtIiwgMCwgKEdQYXJhbUZsYWdzKSAoR19QQVJB
TV9SRUFEQUJMRSB8IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKTsKKworICAgIHByb3BlcnRpZXNb
UFJPUF9JUkFESU9fVVJMXSA9IGdfcGFyYW1fc3BlY19zdHJpbmcoImlyYWRpby11cmwiLCAiaXJh
ZGlvLXVybCIsCisgICAgICAgICJIb21lcGFnZSBVUkwgZm9yIHJhZGlvIHN0cmVhbSIsIDAsIChH
UGFyYW1GbGFncykgKEdfUEFSQU1fUkVBREFCTEUgfCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTKSk7
CisKKyAgICBwcm9wZXJ0aWVzW1BST1BfSVJBRElPX1RJVExFXSA9IGdfcGFyYW1fc3BlY19zdHJp
bmcoImlyYWRpby10aXRsZSIsICJpcmFkaW8tdGl0bGUiLAorICAgICAgICAiTmFtZSBvZiBjdXJy
ZW50bHkgcGxheWluZyBzb25nIiwgMCwgKEdQYXJhbUZsYWdzKSAoR19QQVJBTV9SRUFEQUJMRSB8
IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKTsKIAogCiAgICAgLyogQWxsb3dzIHNldHRpbmcgdGhl
IHVyaSB1c2luZyB0aGUgJ2xvY2F0aW9uJyBwcm9wZXJ0eSwgd2hpY2ggaXMgdXNlZAogICAgICAq
IGZvciBleGFtcGxlIGJ5IGdzdF9lbGVtZW50X21ha2VfZnJvbV91cmkoKSAqLwotICAgIGdfb2Jq
ZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkob2tsYXNzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgUFJPUF9MT0NBVElPTiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmcoImxvY2F0aW9uIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0aW9uIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkxv
Y2F0aW9uIHRvIHJlYWQgZnJvbSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIChHUGFyYW1GbGFncykgKEdfUEFSQU1fUkVBRFdSSVRF
IHwgR19QQVJBTV9TVEFUSUNfU1RSSU5HUykpKTsKKyAgICBwcm9wZXJ0aWVzW1BST1BfTE9DQVRJ
T05dID0gZ19wYXJhbV9zcGVjX3N0cmluZygibG9jYXRpb24iLCAibG9jYXRpb24iLAorICAgICAg
ICAiTG9jYXRpb24gdG8gcmVhZCBmcm9tIiwgMCwgKEdQYXJhbUZsYWdzKSAoR19QQVJBTV9SRUFE
V1JJVEUgfCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19p
bnN0YWxsX3Byb3BlcnRpZXMob2tsYXNzLCBQUk9QX0xBU1QsIHByb3BlcnRpZXMpOworCiAgICAg
ZWtsYXNzLT5jaGFuZ2Vfc3RhdGUgPSB3ZWJLaXRXZWJTcmNDaGFuZ2VTdGF0ZTsKIAogICAgIGdf
dHlwZV9jbGFzc19hZGRfcHJpdmF0ZShrbGFzcywgc2l6ZW9mKFdlYktpdFdlYlNyY1ByaXZhdGUp
KTsKQEAgLTg4MSwyOCArODU4LDI4IEBAIHZvaWQgU3RyZWFtaW5nQ2xpZW50OjpoYW5kbGVSZXNw
b25zZVJlY2VpdmVkKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogICAgIGlmICgh
dmFsdWUuaXNFbXB0eSgpKSB7CiAgICAgICAgIGdfZnJlZShwcml2LT5pcmFkaW9OYW1lKTsKICAg
ICAgICAgcHJpdi0+aXJhZGlvTmFtZSA9IGdfc3RyZHVwKHZhbHVlLnV0ZjgoKS5kYXRhKCkpOwot
ICAgICAgICBnX29iamVjdF9ub3RpZnkoR19PQkpFQ1Qoc3JjKSwgImlyYWRpby1uYW1lIik7Cisg
ICAgICAgIGdfb2JqZWN0X25vdGlmeV9ieV9wc3BlYyhHX09CSkVDVChzcmMpLCBwcm9wZXJ0aWVz
W1BST1BfSVJBRElPX05BTUVdKTsKICAgICAgICAgZ3N0X3RhZ19saXN0X2FkZCh0YWdzLCBHU1Rf
VEFHX01FUkdFX1JFUExBQ0UsIEdTVF9UQUdfT1JHQU5JWkFUSU9OLCBwcml2LT5pcmFkaW9OYW1l
LCBOVUxMKTsKICAgICB9CiAgICAgdmFsdWUgPSByZXNwb25zZS5odHRwSGVhZGVyRmllbGQoImlj
eS1nZW5yZSIpOwogICAgIGlmICghdmFsdWUuaXNFbXB0eSgpKSB7CiAgICAgICAgIGdfZnJlZShw
cml2LT5pcmFkaW9HZW5yZSk7CiAgICAgICAgIHByaXYtPmlyYWRpb0dlbnJlID0gZ19zdHJkdXAo
dmFsdWUudXRmOCgpLmRhdGEoKSk7Ci0gICAgICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVDVChz
cmMpLCAiaXJhZGlvLWdlbnJlIik7CisgICAgICAgIGdfb2JqZWN0X25vdGlmeV9ieV9wc3BlYyhH
X09CSkVDVChzcmMpLCBwcm9wZXJ0aWVzW1BST1BfSVJBRElPX0dFTlJFXSk7CiAgICAgICAgIGdz
dF90YWdfbGlzdF9hZGQodGFncywgR1NUX1RBR19NRVJHRV9SRVBMQUNFLCBHU1RfVEFHX0dFTlJF
LCBwcml2LT5pcmFkaW9HZW5yZSwgTlVMTCk7CiAgICAgfQogICAgIHZhbHVlID0gcmVzcG9uc2Uu
aHR0cEhlYWRlckZpZWxkKCJpY3ktdXJsIik7CiAgICAgaWYgKCF2YWx1ZS5pc0VtcHR5KCkpIHsK
ICAgICAgICAgZ19mcmVlKHByaXYtPmlyYWRpb1VybCk7CiAgICAgICAgIHByaXYtPmlyYWRpb1Vy
bCA9IGdfc3RyZHVwKHZhbHVlLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICBnX29iamVjdF9ub3Rp
ZnkoR19PQkpFQ1Qoc3JjKSwgImlyYWRpby11cmwiKTsKKyAgICAgICAgZ19vYmplY3Rfbm90aWZ5
X2J5X3BzcGVjKEdfT0JKRUNUKHNyYyksIHByb3BlcnRpZXNbUFJPUF9JUkFESU9fVVJMXSk7CiAg
ICAgICAgIGdzdF90YWdfbGlzdF9hZGQodGFncywgR1NUX1RBR19NRVJHRV9SRVBMQUNFLCBHU1Rf
VEFHX0xPQ0FUSU9OLCBwcml2LT5pcmFkaW9VcmwsIE5VTEwpOwogICAgIH0KICAgICB2YWx1ZSA9
IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZCgiaWN5LXRpdGxlIik7CiAgICAgaWYgKCF2YWx1ZS5p
c0VtcHR5KCkpIHsKICAgICAgICAgZ19mcmVlKHByaXYtPmlyYWRpb1RpdGxlKTsKICAgICAgICAg
cHJpdi0+aXJhZGlvVGl0bGUgPSBnX3N0cmR1cCh2YWx1ZS51dGY4KCkuZGF0YSgpKTsKLSAgICAg
ICAgZ19vYmplY3Rfbm90aWZ5KEdfT0JKRUNUKHNyYyksICJpcmFkaW8tdGl0bGUiKTsKKyAgICAg
ICAgZ19vYmplY3Rfbm90aWZ5X2J5X3BzcGVjKEdfT0JKRUNUKHNyYyksIHByb3BlcnRpZXNbUFJP
UF9JUkFESU9fVElUTEVdKTsKICAgICAgICAgZ3N0X3RhZ19saXN0X2FkZCh0YWdzLCBHU1RfVEFH
X01FUkdFX1JFUExBQ0UsIEdTVF9UQUdfVElUTEUsIHByaXYtPmlyYWRpb1RpdGxlLCBOVUxMKTsK
ICAgICB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>