<?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>116871</bug_id>
          
          <creation_ts>2013-05-28 09:15:56 -0700</creation_ts>
          <short_desc>Made AudioNode an EventTarget</short_desc>
          <delta_ts>2013-05-28 10:54:17 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          <blocked>116798</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>894378</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-05-28 09:15:56 -0700</bug_when>
    <thetext>Made AudioNode an EventTarget</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894379</commentid>
    <comment_count>1</comment_count>
      <attachid>203061</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-05-28 09:22:36 -0700</bug_when>
    <thetext>Created attachment 203061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894380</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-28 09:24:31 -0700</bug_when>
    <thetext>Attachment 203061 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/webaudio/audionode-expected.txt&apos;, u&apos;LayoutTests/webaudio/audionode.html&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/Modules/webaudio/AudioNode.cpp&apos;, u&apos;Source/WebCore/Modules/webaudio/AudioNode.h&apos;, u&apos;Source/WebCore/Modules/webaudio/AudioNode.idl&apos;, u&apos;Source/WebCore/Modules/webaudio/ScriptProcessorNode.cpp&apos;, u&apos;Source/WebCore/Modules/webaudio/ScriptProcessorNode.h&apos;, u&apos;Source/WebCore/Modules/webaudio/ScriptProcessorNode.idl&apos;, u&apos;Source/WebCore/dom/EventTarget.h&apos;, u&apos;Source/WebCore/dom/EventTargetFactory.in&apos;]&quot; exit_code: 1
Source/WebCore/dom/EventTarget.h:43:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 10 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>894386</commentid>
    <comment_count>3</comment_count>
      <attachid>203061</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-28 09:29:37 -0700</bug_when>
    <thetext>Comment on attachment 203061
Patch

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

&gt; Source/WebCore/Modules/webaudio/AudioNode.h:186
&gt; +    // EventTarget
&gt; +    virtual const AtomicString&amp; interfaceName() const OVERRIDE;
&gt; +    virtual ScriptExecutionContext* scriptExecutionContext() const OVERRIDE;
&gt; +    virtual EventTargetData* eventTargetData() OVERRIDE { return &amp;m_eventTargetData; }
&gt; +    virtual EventTargetData* ensureEventTargetData() OVERRIDE { return &amp;m_eventTargetData; }

Could these overrides be private? I can’t think of any reason someone would call these on an AudioNode directly rather than through an EventTarget&amp;, so making them private would be nice.

&gt; Source/WebCore/Modules/webaudio/AudioNode.idl:62
&gt; +    void addEventListener(DOMString type,
&gt; +        EventListener listener,
&gt; +        optional boolean useCapture);
&gt; +
&gt; +    void removeEventListener(DOMString type,
&gt; +        EventListener listener,
&gt; +        optional boolean useCapture);
&gt; +
&gt; +    boolean dispatchEvent(Event evt)
&gt; +        raises(EventException);

These read better on single lines, to my taste. And I see no reason to name it “evt” instead of event”.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894394</commentid>
    <comment_count>4</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-05-28 09:46:30 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 203061 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=203061&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/AudioNode.h:186
&gt; &gt; +    // EventTarget
&gt; &gt; +    virtual const AtomicString&amp; interfaceName() const OVERRIDE;
&gt; &gt; +    virtual ScriptExecutionContext* scriptExecutionContext() const OVERRIDE;
&gt; &gt; +    virtual EventTargetData* eventTargetData() OVERRIDE { return &amp;m_eventTargetData; }
&gt; &gt; +    virtual EventTargetData* ensureEventTargetData() OVERRIDE { return &amp;m_eventTargetData; }
&gt; 
&gt; Could these overrides be private? I can’t think of any reason someone would call these on an AudioNode directly rather than through an EventTarget&amp;, so making them private would be nice.

Yes, these can be moved into private:.

&gt; &gt; Source/WebCore/Modules/webaudio/AudioNode.idl:62
&gt; &gt; +    void addEventListener(DOMString type,
&gt; &gt; +        EventListener listener,
&gt; &gt; +        optional boolean useCapture);
&gt; &gt; +
&gt; &gt; +    void removeEventListener(DOMString type,
&gt; &gt; +        EventListener listener,
&gt; &gt; +        optional boolean useCapture);
&gt; &gt; +
&gt; &gt; +    boolean dispatchEvent(Event evt)
&gt; &gt; +        raises(EventException);
&gt; 
&gt; These read better on single lines, to my taste. And I see no reason to name it “evt” instead of event”.

Sure thing.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894395</commentid>
    <comment_count>5</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-05-28 09:47:37 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 203061 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=203061&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/Modules/webaudio/AudioNode.h:186
&gt; &gt; &gt; +    // EventTarget
&gt; &gt; &gt; +    virtual const AtomicString&amp; interfaceName() const OVERRIDE;
&gt; &gt; &gt; +    virtual ScriptExecutionContext* scriptExecutionContext() const OVERRIDE;
&gt; &gt; &gt; +    virtual EventTargetData* eventTargetData() OVERRIDE { return &amp;m_eventTargetData; }
&gt; &gt; &gt; +    virtual EventTargetData* ensureEventTargetData() OVERRIDE { return &amp;m_eventTargetData; }
&gt; &gt; 
&gt; &gt; Could these overrides be private? I can’t think of any reason someone would call these on an AudioNode directly rather than through an EventTarget&amp;, so making them private would be nice.
&gt; 
&gt; Yes, these can be moved into private:.

I take that back.  They&apos;re called by the wrapper (JSAudioNode) directly, so they need to be public.

&gt; &gt; &gt; Source/WebCore/Modules/webaudio/AudioNode.idl:62
&gt; &gt; &gt; +    void addEventListener(DOMString type,
&gt; &gt; &gt; +        EventListener listener,
&gt; &gt; &gt; +        optional boolean useCapture);
&gt; &gt; &gt; +
&gt; &gt; &gt; +    void removeEventListener(DOMString type,
&gt; &gt; &gt; +        EventListener listener,
&gt; &gt; &gt; +        optional boolean useCapture);
&gt; &gt; &gt; +
&gt; &gt; &gt; +    boolean dispatchEvent(Event evt)
&gt; &gt; &gt; +        raises(EventException);
&gt; &gt; 
&gt; &gt; These read better on single lines, to my taste. And I see no reason to name it “evt” instead of event”.
&gt; 
&gt; Sure thing.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894422</commentid>
    <comment_count>6</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-05-28 10:54:17 -0700</bug_when>
    <thetext>Committed r150810: &lt;http://trac.webkit.org/changeset/150810&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203061</attachid>
            <date>2013-05-28 09:22:36 -0700</date>
            <delta_ts>2013-05-28 09:29:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116871-20130528092117.patch</filename>
            <type>text/plain</type>
            <size>12141</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwNjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWRkYmVkMjZiZTJjZTRh
M2I2NjVlMzY1NmExMDA5MDRlMjQzMTdmNS4uZTNjOTM1MjE1NzJiNmYxOGIzOTc5MDJiZGZmNjJh
M2MyNmRlNjAzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTA1LTI4ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIE1hZGUgQXVkaW9Ob2RlIGFu
IEV2ZW50VGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTY4NzEKKworICAgICAgICBNZXJnZTogaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3Vy
Y2UuY29tL2Nocm9taXVtL2JsaW5rLysvZWYzNzQ4NDE2MmRkYjk1ZDY3N2RjZmRjZGQ3NzhlYzYw
NTkwOTI4YgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RzOiB3ZWJhdWRpby9hdWRpb25vZGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAgICAgICAg
d2ViYXVkaW8vYXVkaW9ub2RlLmh0bWw6CisKKyAgICAgICAgQWRkIHRoZSByZXF1aXNpdGUgYm9p
bGVycGxhdGUgdG8gYWxsb3cgQXVkaW9Ob2RlIHRvIGJlY29tZSBhbiBFdmVudFRhcmdldC4gUmVt
b3ZlCisgICAgICAgIGFsbCB0aGF0IHNhbWUgYm9pbGVycGxhdGUgZnJvbSBTY3JpcHRQcm9jZXNz
b3JOb2RlIG5vdyB0aGF0IGl0J3MgYmFzZSBjbGFzcworICAgICAgICBpcyBhbiBFdmVudFRhcmdl
dC4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvTm9kZTo6aW50ZXJmYWNlTmFtZSk6IEFkZGVkIGJvaWxlcnBsYXRlLgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9Ob2RlOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KTogUmV0
dXJuIHRoZSBBdWRpb0NvbnRleHQncyBjb250ZXh0LgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9O
b2RlOjpwcm9jZXNzSWZOZWNlc3NhcnkpOiBXaGl0ZXNwYWNlLgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Ob2RlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb05v
ZGUuaWRsOiBNYWtlIEF1ZGlvTm9kZSBhbiBFdmVudFRhcmdldC4KKyAgICAgICAgKiBNb2R1bGVz
L3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwOiBSZW1vdmUgRXZlbnRUYXJnZXQgYm9p
bGVycGxhdGUuCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2Rl
Lmg6IERpdHRvLgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9k
ZS5pZGw6IERpdHRvLgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOiBNYXJrIEF1ZGlvTm9k
ZSBhcyBhbiBFdmVudFRhcmdldC4KKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5Lmlu
OiBEaXR0by4KKwogMjAxMy0wNS0yNCAgTm9hbSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgV2ViUHJvY2VzcyBpcyBjcmFzaGluZyBvbiBodHRwOi8vYWNoaWN1LmdpdGh1
Yi5pby9jc3MtcHJlc2VudGF0aW9uIHdoZW4gZGlyZWN0IHBhdHRlcm4gY29tcG9zaXRpbmcgaXMg
ZW5hYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUuY3Bw
CmluZGV4IDRiNGRhYjEzMWExYTYzMmY5NzIyNDA4NWE5NjMzYjM4NGY3NjU5NTYuLjQxZWNhMzQ0
NzAzNDNkNGExOTZmYTM1ZTcwNGUyNjMyNGIxOGQyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5jcHAKQEAgLTI4MCwxMCArMjgwLDIwIEBAIHZvaWQg
QXVkaW9Ob2RlOjp1cGRhdGVDaGFubmVsc0ZvcklucHV0cygpCiAgICAgICAgIGlucHV0KGkpLT5j
aGFuZ2VkT3V0cHV0cygpOwogfQogCitjb25zdCBBdG9taWNTdHJpbmcmIEF1ZGlvTm9kZTo6aW50
ZXJmYWNlTmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VG
b3JBdWRpb05vZGU7Cit9CisKK1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIEF1ZGlvTm9kZTo6c2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGNvbnN0X2Nhc3Q8QXVk
aW9Ob2RlKj4odGhpcyktPmNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworfQor
CiB2b2lkIEF1ZGlvTm9kZTo6cHJvY2Vzc0lmTmVjZXNzYXJ5KHNpemVfdCBmcmFtZXNUb1Byb2Nl
c3MpCiB7CiAgICAgQVNTRVJUKGNvbnRleHQoKS0+aXNBdWRpb1RocmVhZCgpKTsKLSAgICAKKwog
ICAgIGlmICghaXNJbml0aWFsaXplZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5oCmluZGV4IDdiNTAwNGFmYWI1N2VlNDZj
NGZlMmYwNjliYmRjZmZmNjVkOTNhODMuLjM5MmZhYzQ1M2M5N2NhNTk2N2YwMWZjM2NjMmIyYTAy
ZWVjYjE2N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUu
aApAQCAtMjYsNiArMjYsNyBAQAogI2RlZmluZSBBdWRpb05vZGVfaAogCiAjaW5jbHVkZSAiQXVk
aW9CdXMuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CkBAIC00OSw3ICs1MCw3IEBAIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAvLyBBbiBBdWRp
b0Rlc3RpbmF0aW9uTm9kZSBoYXMgb25lIGlucHV0IGFuZCBubyBvdXRwdXRzIGFuZCByZXByZXNl
bnRzIHRoZSBmaW5hbCBkZXN0aW5hdGlvbiB0byB0aGUgYXVkaW8gaGFyZHdhcmUuCiAvLyBNb3N0
IHByb2Nlc3Npbmcgbm9kZXMgc3VjaCBhcyBmaWx0ZXJzIHdpbGwgaGF2ZSBvbmUgaW5wdXQgYW5k
IG9uZSBvdXRwdXQsIGFsdGhvdWdoIG11bHRpcGxlIGlucHV0cyBhbmQgb3V0cHV0cyBhcmUgcG9z
c2libGUuCiAKLWNsYXNzIEF1ZGlvTm9kZSB7CitjbGFzcyBBdWRpb05vZGUgOiBwdWJsaWMgRXZl
bnRUYXJnZXQgewogcHVibGljOgogICAgIGVudW0geyBQcm9jZXNzaW5nU2l6ZUluRnJhbWVzID0g
MTI4IH07CiAKQEAgLTE3OCw2ICsxNzksMTIgQEAgcHVibGljOgogICAgIENoYW5uZWxDb3VudE1v
ZGUgaW50ZXJuYWxDaGFubmVsQ291bnRNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9jaGFubmVsQ291
bnRNb2RlOyB9CiAgICAgQXVkaW9CdXM6OkNoYW5uZWxJbnRlcnByZXRhdGlvbiBpbnRlcm5hbENo
YW5uZWxJbnRlcnByZXRhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hhbm5lbEludGVycHJldGF0
aW9uOyB9CiAKKyAgICAvLyBFdmVudFRhcmdldAorICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3Ry
aW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgT1ZFUlJJREU7
CisgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGV2ZW50VGFyZ2V0RGF0YSgpIE9WRVJSSURF
IHsgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsgfQorICAgIHZpcnR1YWwgRXZlbnRUYXJnZXRE
YXRhKiBlbnN1cmVFdmVudFRhcmdldERhdGEoKSBPVkVSUklERSB7IHJldHVybiAmbV9ldmVudFRh
cmdldERhdGE7IH0KKwogcHJvdGVjdGVkOgogICAgIC8vIElucHV0cyBhbmQgb3V0cHV0cyBtdXN0
IGJlIGNyZWF0ZWQgYmVmb3JlIHRoZSBBdWRpb05vZGUgaXMgaW5pdGlhbGl6ZWQuCiAgICAgdm9p
ZCBhZGRJbnB1dChQYXNzT3duUHRyPEF1ZGlvTm9kZUlucHV0Pik7CkBAIC0xOTksNiArMjA2LDgg
QEAgcHJpdmF0ZToKICAgICBWZWN0b3I8T3duUHRyPEF1ZGlvTm9kZUlucHV0PiA+IG1faW5wdXRz
OwogICAgIFZlY3RvcjxPd25QdHI8QXVkaW9Ob2RlT3V0cHV0PiA+IG1fb3V0cHV0czsKIAorICAg
IEV2ZW50VGFyZ2V0RGF0YSBtX2V2ZW50VGFyZ2V0RGF0YTsKKwogICAgIGRvdWJsZSBtX2xhc3RQ
cm9jZXNzaW5nVGltZTsKICAgICBkb3VibGUgbV9sYXN0Tm9uU2lsZW50VGltZTsKIApAQCAtMjE0
LDYgKzIyMyw5IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGludCBzX25vZGVDb3VudFtOb2RlVHlw
ZUVuZF07CiAjZW5kaWYKIAorICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgpIE9WRVJS
SURFIHsgcmVmKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIE9WRVJS
SURFIHsgZGVyZWYoKTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgdW5zaWduZWQgbV9jaGFubmVsQ291
bnQ7CiAgICAgQ2hhbm5lbENvdW50TW9kZSBtX2NoYW5uZWxDb3VudE1vZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5pZGwKaW5kZXggMGZjMjM0ODAyNTVi
ZWYwNWZhODA0YjNkYzUyYjNiZTRmM2QyOTc2OS4uYjNlM2FmOGZmMGEyNWQyZDIzNzU0MzFkZWE1
ODM2MjA0YTVlYTdjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb05vZGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Ob2RlLmlkbApAQCAtMjMsOCArMjMsMTEgQEAKICAqLwogCiBbCi0gICAgQ29uZGl0aW9uYWw9
V0VCX0FVRElPCi1dIGludGVyZmFjZSBBdWRpb05vZGUgeworICAgIENvbmRpdGlvbmFsPVdFQl9B
VURJTywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKKyAgICBKU0dlbmVyYXRlVG9OYXRpdmVP
YmplY3QsCisgICAgRXZlbnRUYXJnZXQKK10gaW50ZXJmYWNlIEF1ZGlvTm9kZSA6IEV2ZW50VGFy
Z2V0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9Db250ZXh0IGNvbnRleHQ7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZJbnB1dHM7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZPdXRwdXRzOwpAQCAtNDYsNCAr
NDksMTUgQEAKIAogICAgIHZvaWQgZGlzY29ubmVjdChbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlv
bmFsIHVuc2lnbmVkIGxvbmcgb3V0cHV0KQogICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
KworICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwKKyAgICAgICAgRXZl
bnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiB1c2VDYXB0dXJl
KTsKKworICAgIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwKKyAgICAg
ICAgRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiB1c2VD
YXB0dXJlKTsKKworICAgIGJvb2xlYW4gZGlzcGF0Y2hFdmVudChFdmVudCBldnQpCisgICAgICAg
IHJhaXNlcyhFdmVudEV4Y2VwdGlvbik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAKaW5kZXggYjQwNDJkZGRl
NzdkYzg2MTA5NmE3ZTExZWJkN2Q0YmZkZTdmMjgwZS4uYTYwODM2NDU4MTI4MGE2OTExNzFhNjgw
ZGM3OWExZGE3ZjRlYzJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCkBAIC0yNjMsMTYgKzI2Myw2IEBAIHZv
aWQgU2NyaXB0UHJvY2Vzc29yTm9kZTo6cmVzZXQoKQogICAgIH0KIH0KIAotY29uc3QgQXRvbWlj
U3RyaW5nJiBTY3JpcHRQcm9jZXNzb3JOb2RlOjppbnRlcmZhY2VOYW1lKCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZvclNjcmlwdFByb2Nlc3Nvck5vZGU7Ci19
Ci0KLVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIFNjcmlwdFByb2Nlc3Nvck5vZGU6OnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSBjb25zdAotewotICAgIHJldHVybiBjb25zdF9jYXN0PFNjcmlwdFBy
b2Nlc3Nvck5vZGUqPih0aGlzKS0+Y29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
Ci19Ci0KIGRvdWJsZSBTY3JpcHRQcm9jZXNzb3JOb2RlOjp0YWlsVGltZSgpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9k
ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2Rl
LmgKaW5kZXggMjFhOWNkYTZjN2U5NTI5ZGQ5YzA3YzM0MGRkNTgxYjM4YTU3ZDhjMi4uYzYyNTA2
OGEwOTg2OGQ0ZGIxYjNiMTRhNjExYzFiZGMyOTBjNGI2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKQEAgLTQ3LDgg
KzQ3LDcgQEAgY2xhc3MgQXVkaW9Qcm9jZXNzaW5nRXZlbnQ7CiAvLyBUaGUgIm9uYXVkaW9wcm9j
ZXNzIiBhdHRyaWJ1dGUgaXMgYW4gZXZlbnQgbGlzdGVuZXIgd2hpY2ggd2lsbCBnZXQgY2FsbGVk
IHBlcmlvZGljYWxseSB3aXRoIGFuIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IHdoaWNoIGhhcwogLy8g
QXVkaW9CdWZmZXJzIGZvciBlYWNoIGlucHV0IGFuZCBvdXRwdXQuCiAKLS8vIEZJWE1FOiBFdmVu
dFRhcmdldCBzaG91bGQgYmUgaW50cm9kdWNlZCBhdCB0aGUgYmFzZSBvZiB0aGUgaW5oZXJpdGFu
Y2UgaGllcmFyY2h5IChpLmUuLCBhcyBhIGJhc2UgY2xhc3MgZm9yIEF1ZGlvTm9kZSkuCi1jbGFz
cyBTY3JpcHRQcm9jZXNzb3JOb2RlIDogcHVibGljIEF1ZGlvTm9kZSwgcHVibGljIEV2ZW50VGFy
Z2V0IHsKK2NsYXNzIFNjcmlwdFByb2Nlc3Nvck5vZGUgOiBwdWJsaWMgQXVkaW9Ob2RlIHsKIHB1
YmxpYzoKICAgICAvLyBidWZmZXJTaXplIG11c3QgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFs
dWVzOiAyNTYsIDUxMiwgMTAyNCwgMjA0OCwgNDA5NiwgODE5MiwgMTYzODQuCiAgICAgLy8gVGhp
cyB2YWx1ZSBjb250cm9scyBob3cgZnJlcXVlbnRseSB0aGUgb25hdWRpb3Byb2Nlc3MgZXZlbnQg
aGFuZGxlciBpcyBjYWxsZWQgYW5kIGhvdyBtYW55IHNhbXBsZS1mcmFtZXMgbmVlZCB0byBiZSBw
cm9jZXNzZWQgZWFjaCBjYWxsLgpAQCAtNjQsMTkgKzYzLDkgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBpbml0aWFsaXplKCk7CiAgICAgdmlydHVhbCB2b2lkIHVuaW5pdGlhbGl6ZSgpOwog
Ci0gICAgLy8gRXZlbnRUYXJnZXQKLSAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50
ZXJmYWNlTmFtZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0OwotICAgIHZpcnR1YWwgRXZlbnRUYXJnZXRE
YXRhKiBldmVudFRhcmdldERhdGEoKSB7IHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7IH0KLSAg
ICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkgIHsgcmV0
dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsgfQotCiAgICAgc2l6ZV90IGJ1ZmZlclNpemUoKSBjb25z
dCB7IHJldHVybiBtX2J1ZmZlclNpemU7IH0KIAogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIoYXVkaW9wcm9jZXNzKTsKLQotICAgIC8vIFJlY29uY2lsZSByZWYvZGVyZWYgd2hp
Y2ggYXJlIGRlZmluZWQgYm90aCBpbiBBdWRpb05vZGUgYW5kIEV2ZW50VGFyZ2V0LgotICAgIHVz
aW5nIEF1ZGlvTm9kZTo6cmVmOwotICAgIHVzaW5nIEF1ZGlvTm9kZTo6ZGVyZWY7CiAgICAgCiBw
cml2YXRlOgogICAgIHZpcnR1YWwgZG91YmxlIHRhaWxUaW1lKCkgY29uc3QgT1ZFUlJJREU7CkBA
IC05NSwxMCArODQsNiBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxSZWZQdHI8QXVkaW9CdWZmZXI+
ID4gbV9pbnB1dEJ1ZmZlcnM7CiAgICAgVmVjdG9yPFJlZlB0cjxBdWRpb0J1ZmZlcj4gPiBtX291
dHB1dEJ1ZmZlcnM7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSB7IHJlZigp
OyB9Ci0gICAgdmlydHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSB7IGRlcmVmKCk7IH0KLSAg
ICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7Ci0KICAgICBzaXplX3QgbV9idWZm
ZXJTaXplOwogICAgIHVuc2lnbmVkIG1fYnVmZmVyUmVhZFdyaXRlSW5kZXg7CiAgICAgdm9sYXRp
bGUgYm9vbCBtX2lzUmVxdWVzdE91dHN0YW5kaW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5pZGwKaW5kZXggNzhjZjZk
YWQ5ZGFiMzYwZDk2MGYwZmFlYzBiMjhlODdlZTY3MGI1My4uZDVkY2Q1MDMzNjBmZjZiNDA3YzIw
MjJhYzVlYjM0YmRhYWNhMGUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuaWRsCkBAIC0yNiwxMSArMjYsMTAgQEAK
IFsKICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3Qs
Ci0gICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAotICAgIEV2ZW50VGFyZ2V0CisgICAgSlNH
ZW5lcmF0ZVRvTmF0aXZlT2JqZWN0CiBdIGludGVyZmFjZSBTY3JpcHRQcm9jZXNzb3JOb2RlIDog
QXVkaW9Ob2RlIHsKICAgICAvLyBSZW5kZXJpbmcgY2FsbGJhY2sKICAgICBhdHRyaWJ1dGUgRXZl
bnRMaXN0ZW5lciBvbmF1ZGlvcHJvY2VzczsKLSAgICAKKwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBsb25nIGJ1ZmZlclNpemU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAppbmRleCA4Njk1
NjhhMGRiODQ1ZjM4MDdkMzMzMjEyY2NiNWM2OTViYTU5YTZhLi42ZGQ0ZDZlOTExOTA3ZWI5M2Iy
YzNiZGQwZjA4Y2ZkNmQwNGFlNmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaApAQCAtNDAs
NiArNDAsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyAgICBjbGFzcyBBdWRpb05vZGU7
CiAgICAgY2xhc3MgQXVkaW9Db250ZXh0OwogICAgIGNsYXNzIEF1ZGlvVHJhY2tMaXN0OwogICAg
IGNsYXNzIERlZGljYXRlZFdvcmtlckNvbnRleHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFy
Z2V0RmFjdG9yeS5pbgppbmRleCA4ZWE1YjdiMDNhYmFjYTAyZjI1ZjQ4YTJlZDU1OTkyNjNlYTQ3
MGIyLi4zODk1YWVlOGUyZGFkODQwMWM0MDc4YmY3ZGFiZGQ0MTljYWQ0MWFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTEsNSArMSw2IEBACiBuYW1lc3Bh
Y2U9IkV2ZW50VGFyZ2V0IgogCitBdWRpb05vZGUgY29uZGl0aW9uYWw9V0VCX0FVRElPCiBBdWRp
b0NvbnRleHQgY29uZGl0aW9uYWw9V0VCX0FVRElPCiBBdWRpb1RyYWNrTGlzdCBjb25kaXRpb25h
bD1WSURFT19UUkFDSwogQmF0dGVyeU1hbmFnZXIgY29uZGl0aW9uYWw9QkFUVEVSWV9TVEFUVVMK
QEAgLTE0LDcgKzE1LDYgQEAgSURCRGF0YWJhc2UgY29uZGl0aW9uYWw9SU5ERVhFRF9EQVRBQkFT
RQogSURCT3BlbkRCUmVxdWVzdCBjb25kaXRpb25hbD1JTkRFWEVEX0RBVEFCQVNFCiBJREJSZXF1
ZXN0IGNvbmRpdGlvbmFsPUlOREVYRURfREFUQUJBU0UKIElEQlRyYW5zYWN0aW9uIGNvbmRpdGlv
bmFsPUlOREVYRURfREFUQUJBU0UKLVNjcmlwdFByb2Nlc3Nvck5vZGUgY29uZGl0aW9uYWw9V0VC
X0FVRElPCiBMb2NhbE1lZGlhU3RyZWFtIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogTWVkaWFL
ZXlTZXNzaW9uIGNvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQV9WMgogTWVkaWFDb250cm9sbGVy
IGNvbmRpdGlvbmFsPVZJREVPCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRp
b25vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9ub2RlLWV4cGVj
dGVkLnR4dAppbmRleCA4MzU4YzczYWI2ZmMwNmUwZGYwZTUzN2RjZmQzMGViMzFmZjM2NjZkLi43
YTNkYzNkNDQwOTczMGRjN2I0OWRlOGExYzZhNDE2MTZiNDg1ZWU1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy93ZWJhdWRpby9hdWRpb25vZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3dlYmF1ZGlvL2F1ZGlvbm9kZS1leHBlY3RlZC50eHQKQEAgLTE2LDYgKzE2LDcgQEAgUEFTUyBj
b25uZWN0KCkgZXhjZXB0aW9uIHRocm93biBmb3IgaWxsZWdhbCBpbnB1dCBpbmRleC4KIFBBU1Mg
YXVkaW9Ob2RlLmNvbm5lY3QoY29udGV4dC5kZXN0aW5hdGlvbikgc3VjY2VlZGVkLgogUEFTUyBl
eGNlcHRpb24gdGhyb3duIHdoZW4gY29ubmVjdGluZyB0byBvdGhlciBjb250ZXh0J3Mgbm9kZS4K
IFBBU1MgZXhjZXB0aW9uIHRocm93biB3aGVuIGNyZWF0aW5nIGF1ZGlvIGNvbnRleHQgd2l0aCBu
b3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgQXVkaW9Ob2RlIGlzIGFuIEV2ZW50VGFyZ2V0CiBQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvbm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
YXVkaW8vYXVkaW9ub2RlLmh0bWwKaW5kZXggZGQwZGMzMjk1OGE1ZWQyZjhkN2JhZjRjNGQ2NGRl
MTM0YWQ3ZjUyNC4uZjViYWVjNzFjYjZjMDY1NTA5NWYwNWQyNGJiOTk2MTc2MDNiZTg3NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9ub2RlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViYXVkaW8vYXVkaW9ub2RlLmh0bWwKQEAgLTEwMSw2ICsxMDEsMTYgQEAgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKICAgICAgICAgdGVzdFBhc3NlZCgiZXhjZXB0aW9uIHRocm93biB3aGVu
IGNyZWF0aW5nIGF1ZGlvIGNvbnRleHQgd2l0aCBub3QgZW5vdWdoIGFyZ3VtZW50cy4iKTsKICAg
ICB9CiAKKyAgICAvLyBFbnN1cmUgaXQgaXMgYW4gRXZlbnRUYXJnZXQKKyAgICB0cnkgeworICAg
ICAgICBhdWRpb05vZGUuYWRkRXZlbnRMaXN0ZW5lcigndGVzdEV2ZW50JywgZnVuY3Rpb24oKXsK
KyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkF1ZGlvTm9kZSBpcyBhbiBFdmVudFRhcmdldCIpOwor
ICAgICAgICB9KTsKKyAgICAgICAgYXVkaW9Ob2RlLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd0
ZXN0RXZlbnQnKSk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIHRlc3RGYWlsZWQoImV4Y2Vw
dGlvbiBzaG91bGRuJ3QgYmUgdGhyb3duIHdoZW4gdGVzdGluZyB3aGV0aGVyIGF1ZGlvIG5vZGUg
aXMgYW4gZXZlbnQgdGFyZ2V0Iik7CisgICAgfQorCiAgICAgZmluaXNoSlNUZXN0KCk7CiB9CiAK
</data>
<flag name="review"
          id="224511"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>