<?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>110773</bug_id>
          
          <creation_ts>2013-02-25 11:23:45 -0800</creation_ts>
          <short_desc>WebSpeech: change voiceURI to voice</short_desc>
          <delta_ts>2013-03-04 14:43:57 -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>Accessibility</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>106742</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>abarth</cc>
    
    <cc>bdakin</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>841130</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-02-25 11:23:45 -0800</bug_when>
    <thetext>https://www.w3.org/Bugs/Public/show_bug.cgi?id=20529

http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi-errata.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844170</commentid>
    <comment_count>1</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-02-28 10:01:34 -0800</bug_when>
    <thetext>E07 2013-02-25 (Important):
Section 5.2 IDL: SpeechSynthesisUtterance &quot;attribute DOMString voiceURI&quot; should be &quot;attribute SpeechSynthesisVoice voice&quot;.
Section 5.2.3 SpeechSynthesisUtterance Attributes: &quot;voiceURI attribute&quot; should be &quot;voice attribute&quot;, with the following definition:
The voice attribute specifies speech synthesis voice that the web application wishes to use. If, at the time of the play method call, this attribute has been set to one of the SpeechSynthesisVoice objects returned by getVoices, then the user agent MUST use that voice. If this attribute is unset or null at the time of the play method call, then the user agent MUST use a user agent default voice. The user agent default voice SHOULD support the current language (see &quot;lang&quot; attribute) and can be a local or remote speech service and can incorporate end user choices via interfaces provided by the user agent such as browser configuration parameters.
Section 5.2.6 SpeechSynthesisVoice: voiceURI attribute: &quot;as described in the SpeechSynthesisUtterance voiceURI attribute&quot; should be &quot;either through use of a URN with meaning to the user agent or by specifying a URL that the user agent recognizes as a local service.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844510</commentid>
    <comment_count>2</comment_count>
      <attachid>190816</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-02-28 14:59:17 -0800</bug_when>
    <thetext>Created attachment 190816
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844516</commentid>
    <comment_count>3</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-02-28 15:02:03 -0800</bug_when>
    <thetext>Adding Beth for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846780</commentid>
    <comment_count>4</comment_count>
      <attachid>190816</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-03-04 13:20:53 -0800</bug_when>
    <thetext>Comment on attachment 190816
patch

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

I don&apos;t know enough about this code to know if the object lifetimes are right...

&gt; Source/WebCore/Modules/speech/SpeechSynthesisUtterance.idl:-34
&gt; -    attribute DOMString voiceURI;

Is it OK to just remove the old property?

&gt; Source/WebCore/platform/PlatformSpeechSynthesisUtterance.cpp:35
&gt; +    , m_voice(0)

null is the default value for RefPtr.

&gt; Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm:86
&gt; +    WebCore::PlatformSpeechSynthesisVoice *utteranceVoice = utterance-&gt;voice();

This * is on the wrong side; PlatformSpeechSynthesisVoice is a C++ class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846831</commentid>
    <comment_count>5</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-03-04 14:00:28 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 190816 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=190816&amp;action=review
&gt; 
&gt; I don&apos;t know enough about this code to know if the object lifetimes are right...
&gt; 
&gt; &gt; Source/WebCore/Modules/speech/SpeechSynthesisUtterance.idl:-34
&gt; &gt; -    attribute DOMString voiceURI;
&gt; 
&gt; Is it OK to just remove the old property?

This feature has not yet been enabled on any platform, so we should be ok

&gt; 
&gt; &gt; Source/WebCore/platform/PlatformSpeechSynthesisUtterance.cpp:35
&gt; &gt; +    , m_voice(0)
&gt; 
&gt; null is the default value for RefPtr.
&gt; 
&gt; &gt; Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm:86
&gt; &gt; +    WebCore::PlatformSpeechSynthesisVoice *utteranceVoice = utterance-&gt;voice();
&gt; 
&gt; This * is on the wrong side; PlatformSpeechSynthesisVoice is a C++ class.

hmm, bug in the style checker!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846834</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-03-04 14:02:06 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 190816 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=190816&amp;action=review
&gt; &gt; 
&gt; &gt; I don&apos;t know enough about this code to know if the object lifetimes are right...
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/Modules/speech/SpeechSynthesisUtterance.idl:-34
&gt; &gt; &gt; -    attribute DOMString voiceURI;
&gt; &gt; 
&gt; &gt; Is it OK to just remove the old property?
&gt; 
&gt; This feature has not yet been enabled on any platform, so we should be ok

Perfect!

&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/PlatformSpeechSynthesisUtterance.cpp:35
&gt; &gt; &gt; +    , m_voice(0)
&gt; &gt; 
&gt; &gt; null is the default value for RefPtr.
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm:86
&gt; &gt; &gt; +    WebCore::PlatformSpeechSynthesisVoice *utteranceVoice = utterance-&gt;voice();
&gt; &gt; 
&gt; &gt; This * is on the wrong side; PlatformSpeechSynthesisVoice is a C++ class.
&gt; 
&gt; hmm, bug in the style checker!

I don&apos;t think the style checker can tell if it&apos;s an C++ or ObjC class so it doesn&apos;t try to correct that particular style nit :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846874</commentid>
    <comment_count>7</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-03-04 14:43:57 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/144679</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190816</attachid>
            <date>2013-02-28 14:59:17 -0800</date>
            <delta_ts>2013-03-04 14:02:13 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>11946</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDM3NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEzLTAyLTI4ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViU3BlZWNoOiBjaGFu
Z2Ugdm9pY2VVUkkgdG8gdm9pY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExMDc3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIENoYW5nZSB0aGUgdm9pY2VVUkkgcHJvcGVydHkgdG8gYSB2b2ljZSBwcm9w
ZXJ0eSB0aGF0IHRha2VzIGEgU3BlZWNoU3ludGhlc2lzVm9pY2UuCisgICAgICAgIFRoaXMgd2Fz
IHJlY2VudGx5IGFkZGVkIHRvIHRoZSBlcnJhdGEgb2YgdGhlIFdlYlNwZWVjaCBzcGVjLgorCisg
ICAgICAgIFRlc3Q6IHBsYXRmb3JtL21hYy9mYXN0L3NwZWVjaHN5bnRoZXNpcy9zcGVlY2gtc3lu
dGhlc2lzLXV0dGVyYW5jZS11c2VzLXZvaWNlLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvc3Bl
ZWNoL1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZTo6dm9pY2UpOgorICAgICAg
ICAoV2ViQ29yZTo6U3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlOjpzZXRWb2ljZSk6CisgICAgICAg
ICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmg6CisgICAgICAgIChT
cGVlY2hTeW50aGVzaXNVdHRlcmFuY2UpOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNoL1NwZWVj
aFN5bnRoZXNpc1V0dGVyYW5jZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNo
U3ludGhlc2lzVm9pY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaFN5bnRoZXNpc1ZvaWNl
OjpwbGF0Zm9ybVZvaWNlKToKKyAgICAgICAgKFNwZWVjaFN5bnRoZXNpc1ZvaWNlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZTo6UGxhdGZvcm1T
cGVlY2hTeW50aGVzaXNVdHRlcmFuY2UpOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtU3Bl
ZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVj
aFN5bnRoZXNpc1V0dGVyYW5jZTo6dm9pY2UpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1T
cGVlY2hTeW50aGVzaXNVdHRlcmFuY2U6OnNldFZvaWNlKToKKyAgICAgICAgKFBsYXRmb3JtU3Bl
ZWNoU3ludGhlc2lzVXR0ZXJhbmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxhdGZvcm1T
cGVlY2hTeW50aGVzaXplck1hYy5tbToKKyAgICAgICAgKC1bV2ViU3BlZWNoU3ludGhlc2lzV3Jh
cHBlciBzcGVha1V0dGVyYW5jZTpXZWJDb3JlOjpdKToKKwogMjAxMy0wMi0yOCAgQmVuIFdhZ25l
ciAgPGJ1bmdlbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbmRlcmxpbmUgc2hvdWxkIHJv
dW5kIHRvIG1hdGNoIG90aGVyIGNvbnRlbnQuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaAkocmV2aXNp
b24gMTQ0MzIxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhl
c2lzVXR0ZXJhbmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRl
ICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0Lmgi
CiAjaW5jbHVkZSAiUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaCIKKyNpbmNsdWRl
ICJTcGVlY2hTeW50aGVzaXNWb2ljZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApAQCAtNDYsOCArNDcsOCBAQAogICAgIGNvbnN0
IFN0cmluZyYgbGFuZygpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1VdHRlcmFuY2UubGFuZygp
OyB9CiAgICAgdm9pZCBzZXRMYW5nKGNvbnN0IFN0cmluZyYgbGFuZykgeyBtX3BsYXRmb3JtVXR0
ZXJhbmNlLnNldExhbmcobGFuZyk7IH0KIAotICAgIGNvbnN0IFN0cmluZyYgdm9pY2VVUkkoKSBj
b25zdCB7IHJldHVybiBtX3BsYXRmb3JtVXR0ZXJhbmNlLnZvaWNlVVJJKCk7IH0KLSAgICB2b2lk
IHNldFZvaWNlVVJJKGNvbnN0IFN0cmluZyYgdm9pY2VVUkkpIHsgbV9wbGF0Zm9ybVV0dGVyYW5j
ZS5zZXRWb2ljZVVSSSh2b2ljZVVSSSk7IH0KKyAgICBTcGVlY2hTeW50aGVzaXNWb2ljZSogdm9p
Y2UoKSBjb25zdDsKKyAgICB2b2lkIHNldFZvaWNlKFNwZWVjaFN5bnRoZXNpc1ZvaWNlKik7CiAK
ICAgICBmbG9hdCB2b2x1bWUoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtVXR0ZXJhbmNlLnZv
bHVtZSgpOyB9CiAgICAgdm9pZCBzZXRWb2x1bWUoZmxvYXQgdm9sdW1lKSB7IG1fcGxhdGZvcm1V
dHRlcmFuY2Uuc2V0Vm9sdW1lKHZvbHVtZSk7IH0KQEAgLTc5LDYgKzgwLDcgQEAKIHByaXZhdGU6
CiAgICAgU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBj
b25zdCBTdHJpbmcmKTsKICAgICBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSBtX3Bs
YXRmb3JtVXR0ZXJhbmNlOworICAgIFJlZlB0cjxTcGVlY2hTeW50aGVzaXNWb2ljZT4gbV92b2lj
ZTsKICAgICAKICAgICAvLyBFdmVudFRhcmdldAogICAgIEV2ZW50VGFyZ2V0RGF0YSBtX2V2ZW50
VGFyZ2V0RGF0YTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5
bnRoZXNpc1V0dGVyYW5jZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmlkbAkocmV2aXNpb24gMTQ0MzIxKQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNl
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogXSBpbnRlcmZhY2UgU3BlZWNo
U3ludGhlc2lzVXR0ZXJhbmNlIHsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRleHQ7CiAgICAg
YXR0cmlidXRlIERPTVN0cmluZyBsYW5nOwotICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdm9pY2VV
Ukk7CisgICAgYXR0cmlidXRlIFNwZWVjaFN5bnRoZXNpc1ZvaWNlIHZvaWNlOwogICAgIGF0dHJp
YnV0ZSBmbG9hdCB2b2x1bWU7CiAgICAgYXR0cmlidXRlIGZsb2F0IHJhdGU7CiAgICAgYXR0cmli
dXRlIGZsb2F0IHBpdGNoOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3Bl
ZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuY3BwCShyZXZpc2lvbiAxNDQz
MjEpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRl
cmFuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSw3ICs1MSwyMiBAQAogewogICAgIHJldHVy
biBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlOwogfQor
CitTcGVlY2hTeW50aGVzaXNWb2ljZSogU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlOjp2b2ljZSgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1fdm9pY2UuZ2V0KCk7Cit9CisKK3ZvaWQgU3BlZWNoU3lu
dGhlc2lzVXR0ZXJhbmNlOjpzZXRWb2ljZShTcGVlY2hTeW50aGVzaXNWb2ljZSogdm9pY2UpCit7
CisgICAgLy8gQ2FjaGUgb3VyIG93biB2ZXJzaW9uIG9mIHRoZSBTcGVlY2hTeW50aGVzaXNWb2lj
ZSBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gZG8gc29tZSBsb29rdXAKKyAgICAvLyB0byBnbyBm
cm9tIHRoZSBwbGF0Zm9ybSB2b2ljZSBiYWNrIHRvIHRoZSBzcGVlY2ggc3ludGhlc2lzIHZvaWNl
IGluIHRoZSByZWFkIHByb3BlcnR5LgorICAgIG1fdm9pY2UgPSB2b2ljZTsKICAgICAKKyAgICBp
ZiAodm9pY2UpCisgICAgICAgIG1fcGxhdGZvcm1VdHRlcmFuY2Uuc2V0Vm9pY2Uodm9pY2UtPnBs
YXRmb3JtVm9pY2UoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8v
IEVOQUJMRShTUEVFQ0hfU1lOVEhFU0lTKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
cGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNWb2ljZS5oCShyZXZpc2lvbiAxNDQzMjEp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNWb2ljZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSw4IEBACiAgICAgYm9vbCBsb2NhbFNlcnZpY2Uo
KSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtVm9pY2UtPmxvY2FsU2VydmljZSgpOyB9CiAgICAg
Ym9vbCBpc0RlZmF1bHQoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtVm9pY2UtPmlzRGVmYXVs
dCgpOyB9CiAgICAgCisgICAgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNWb2ljZSogcGxhdGZvcm1W
b2ljZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1Wb2ljZS5nZXQoKTsgfQorCiBwcml2YXRl
OgogICAgIGV4cGxpY2l0IFNwZWVjaFN5bnRoZXNpc1ZvaWNlKFBhc3NSZWZQdHI8UGxhdGZvcm1T
cGVlY2hTeW50aGVzaXNWb2ljZT4pOwogICAgIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmNw
cAkocmV2aXNpb24gMTQ0MzIxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1T
cGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3
IEBACiAgICAgCiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZTo6UGxhdGZvcm1TcGVl
Y2hTeW50aGVzaXNVdHRlcmFuY2UoUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2VDbGll
bnQqIGNsaWVudCkKICAgICA6IG1fY2xpZW50KGNsaWVudCkKKyAgICAsIG1fdm9pY2UoMCkKICAg
ICAsIG1fdm9sdW1lKDEuMGYpCiAgICAgLCBtX3JhdGUoMS4wZikKICAgICAsIG1fcGl0Y2goMS4w
ZikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVNwZWVjaFN5bnRo
ZXNpemVyTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Q
bGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTWFjLm1tCShyZXZpc2lvbiAxNDQzMjEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1hYy5tbQko
d29ya2luZyBjb3B5KQpAQCAtODMsMjYgKzgzLDIwIEBACiAgICAgVmVjdG9yPFJlZlB0cjxXZWJD
b3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1ZvaWNlPiA+IHZvaWNlTGlzdCA9IG1fc3ludGhl
c2l6ZXJPYmplY3QtPnZvaWNlTGlzdCgpOwogICAgIHNpemVfdCB2b2ljZUxpc3RTaXplID0gdm9p
Y2VMaXN0LnNpemUoKTsKICAgICAKLSAgICBXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRoZXNp
c1ZvaWNlICp1dHRlcmFuY2VWb2ljZUJ5VVJJID0gMDsKLSAgICBXZWJDb3JlOjpQbGF0Zm9ybVNw
ZWVjaFN5bnRoZXNpc1ZvaWNlICp1dHRlcmFuY2VWb2ljZUJ5TGFuZ3VhZ2UgPSAwOwotICAgIGZv
ciAoc2l6ZV90IGsgPSAwOyBrIDwgdm9pY2VMaXN0U2l6ZTsgaysrKSB7Ci0gICAgICAgIGlmICh1
dHRlcmFuY2UtPnZvaWNlVVJJKCkgPT0gdm9pY2VMaXN0W2tdLT52b2ljZVVSSSgpKSB7Ci0gICAg
ICAgICAgICB1dHRlcmFuY2VWb2ljZUJ5VVJJID0gdm9pY2VMaXN0W2tdLmdldCgpOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIH0gZWxzZSBpZiAoIXV0dGVyYW5jZVZvaWNlQnlMYW5ndWFn
ZSAmJiBlcXVhbElnbm9yaW5nQ2FzZSh1dHRlcmFuY2UtPmxhbmcoKSwgdm9pY2VMaXN0W2tdLT5s
YW5nKCkpKSB7Ci0gICAgICAgICAgICB1dHRlcmFuY2VWb2ljZUJ5TGFuZ3VhZ2UgPSB2b2ljZUxp
c3Rba10uZ2V0KCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIElmIHRoZXJlIHdhcyBu
byB2b2ljZVVSSSBzcGVjaWZpZWQsIHRoZW4gb25jZSB3ZSBmaW5kIGEgbGFuZ3VhZ2Ugd2UncmUg
Z29vZCB0byBnby4KLSAgICAgICAgICAgIGlmICh1dHRlcmFuY2UtPnZvaWNlVVJJKCkuaXNFbXB0
eSgpKQorICAgIFdlYkNvcmU6OlBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVm9pY2UgKnV0dGVyYW5j
ZVZvaWNlID0gdXR0ZXJhbmNlLT52b2ljZSgpOworICAgIC8vIElmIG5vIHZvaWNlIHdhcyBzcGVj
aWZpZWQsIHRyeSB0byBtYXRjaCBieSBsYW5ndWFnZS4KKyAgICBpZiAoIXV0dGVyYW5jZVZvaWNl
ICYmICF1dHRlcmFuY2UtPmxhbmcoKS5pc0VtcHR5KCkpIHsKKyAgICAgICAgZm9yIChzaXplX3Qg
ayA9IDA7IGsgPCB2b2ljZUxpc3RTaXplOyBrKyspIHsKKyAgICAgICAgICAgIGlmIChlcXVhbEln
bm9yaW5nQ2FzZSh1dHRlcmFuY2UtPmxhbmcoKSwgdm9pY2VMaXN0W2tdLT5sYW5nKCkpKSB7Cisg
ICAgICAgICAgICAgICAgdXR0ZXJhbmNlVm9pY2UgPSB2b2ljZUxpc3Rba10uZ2V0KCk7CiAgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAgICAg
CiAgICAgTlNTdHJpbmcgKnZvaWNlVVJJID0gbmlsOwotICAgIGlmICh1dHRlcmFuY2VWb2ljZUJ5
VVJJKQotICAgICAgICB2b2ljZVVSSSA9IHV0dGVyYW5jZVZvaWNlQnlVUkktPnZvaWNlVVJJKCk7
Ci0gICAgZWxzZSBpZiAodXR0ZXJhbmNlVm9pY2VCeUxhbmd1YWdlKQotICAgICAgICB2b2ljZVVS
SSA9IHV0dGVyYW5jZVZvaWNlQnlMYW5ndWFnZS0+dm9pY2VVUkkoKTsKKyAgICBpZiAodXR0ZXJh
bmNlVm9pY2UpCisgICAgICAgIHZvaWNlVVJJID0gdXR0ZXJhbmNlVm9pY2UtPnZvaWNlVVJJKCk7
CiAgICAgZWxzZQogICAgICAgICB2b2ljZVVSSSA9IFtOU1NwZWVjaFN5bnRoZXNpemVyIGRlZmF1
bHRWb2ljZV07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU3BlZWNo
U3ludGhlc2lzVXR0ZXJhbmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaAkocmV2aXNpb24gMTQ0MzIxKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFu
Y2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFNQRUVD
SF9TWU5USEVTSVMpCiAKKyNpbmNsdWRlICJQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1ZvaWNlLmgi
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTQ5LDkgKzUwLDkgQEAKICAgICBjb25zdCBTdHJpbmcmIGxhbmcoKSBjb25zdCB7IHJldHVy
biBtX2xhbmc7IH0KICAgICB2b2lkIHNldExhbmcoY29uc3QgU3RyaW5nJiBsYW5nKSB7IG1fbGFu
ZyA9IGxhbmc7IH0KICAgICAKLSAgICBjb25zdCBTdHJpbmcmIHZvaWNlVVJJKCkgY29uc3QgeyBy
ZXR1cm4gbV92b2ljZVVSSTsgfQotICAgIHZvaWQgc2V0Vm9pY2VVUkkoY29uc3QgU3RyaW5nJiB2
b2ljZVVSSSkgeyBtX3ZvaWNlVVJJID0gdm9pY2VVUkk7IH0KLSAgICAKKyAgICBQbGF0Zm9ybVNw
ZWVjaFN5bnRoZXNpc1ZvaWNlKiB2b2ljZSgpIGNvbnN0IHsgcmV0dXJuIG1fdm9pY2UuZ2V0KCk7
IH0KKyAgICB2b2lkIHNldFZvaWNlKFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVm9pY2UqIHZvaWNl
KSB7IG1fdm9pY2UgPSB2b2ljZTsgfQorCiAgICAgLy8gUmFuZ2UgPSBbMCwgMV0gd2hlcmUgMSBp
cyB0aGUgZGVmYXVsdC4KICAgICBmbG9hdCB2b2x1bWUoKSBjb25zdCB7IHJldHVybiBtX3ZvbHVt
ZTsgfQogICAgIHZvaWQgc2V0Vm9sdW1lKGZsb2F0IHZvbHVtZSkgeyBtX3ZvbHVtZSA9IHN0ZDo6
bWF4KHN0ZDo6bWluKDEuMGYsIHZvbHVtZSksIDAuMGYpOyB9CkBAIC03Myw3ICs3NCw3IEBACiAg
ICAgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2VDbGllbnQqIG1fY2xpZW50OwogICAg
IFN0cmluZyBtX3RleHQ7CiAgICAgU3RyaW5nIG1fbGFuZzsKLSAgICBTdHJpbmcgbV92b2ljZVVS
STsKKyAgICBSZWZQdHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNWb2ljZT4gbV92b2ljZTsKICAg
ICBmbG9hdCBtX3ZvbHVtZTsKICAgICBmbG9hdCBtX3JhdGU7CiAgICAgZmxvYXQgbV9waXRjaDsK
SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE0NDM3NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAyLTI4ICBDaHJpcyBGbGVpemFjaCAg
PGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViU3BlZWNoOiBjaGFuZ2Ugdm9pY2VV
UkkgdG8gdm9pY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExMDc3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvc3BlZWNoc3ludGhlc2lzL3NwZWVjaC1zeW50aGVzaXMt
dXR0ZXJhbmNlLXVzZXMtdm9pY2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvZmFzdC9zcGVlY2hzeW50aGVzaXMvc3BlZWNoLXN5bnRoZXNpcy11dHRlcmFuY2Ut
dXNlcy12b2ljZS5odG1sOiBBZGRlZC4KKwogMjAxMy0wMi0yOCAgU3RlcGhlbiBDaGVubmV5ICA8
c2NoZW5uZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gTW92ZSBodG1sNWxp
bmIgdGVzdHMgdG8gYmUgU2xvdyByYXRoZXIgdGhhbiBUaW1lb3V0CkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9zcGVlY2hzeW50aGVzaXMvc3BlZWNoLXN5bnRoZXNpcy11dHRl
cmFuY2UtdXNlcy12b2ljZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3Qvc3BlZWNoc3ludGhlc2lzL3NwZWVjaC1zeW50aGVzaXMtdXR0ZXJh
bmNlLXVzZXMtdm9pY2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3Qvc3BlZWNoc3ludGhlc2lzL3NwZWVjaC1zeW50aGVzaXMtdXR0ZXJh
bmNlLXVzZXMtdm9pY2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBA
CitUaGlzIHRlc3RzIHRoYXQgd2UgY2FuIGdldCBzeW50aGVzaXplciB2b2ljZXMgb24gdGhlIE1h
YworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVmVyaWZ5IHRoYXQgc2V0dGluZyBh
bmQgcmV0cmlldmluZyB0aGUgdm9pY2Ugd29ya3MuCitQQVNTIHUudm9pY2UubmFtZSA9PSB2b2lj
ZS5uYW1lIGlzIHRydWUKK1NwZWVjaCBqb2IgZmluaXNoZWQgc3VjY2Vzc2Z1bGx5LgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3NwZWVjaHN5bnRoZXNpcy9zcGVlY2gtc3ludGhlc2lz
LXV0dGVyYW5jZS11c2VzLXZvaWNlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3Qvc3BlZWNoc3ludGhlc2lzL3NwZWVjaC1zeW50aGVzaXMtdXR0ZXJhbmNl
LXVzZXMtdm9pY2UuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L3NwZWVjaHN5bnRoZXNpcy9zcGVlY2gtc3ludGhlc2lzLXV0dGVyYW5jZS11c2VzLXZv
aWNlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgaWQ9ImJvZHkiPgorCis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KworPHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IHdlIGNhbiBnZXQg
c3ludGhlc2l6ZXIgdm9pY2VzIG9uIHRoZSBNYWMiKTsKKworICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLmVuYWJsZU1vY2tTcGVlY2hTeW50aGVzaXpl
cigpOworCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKKworICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
IHZhciBsaXN0ID0gc3BlZWNoU3ludGhlc2lzLmdldFZvaWNlcygpOworICAgIHZhciB2b2ljZSA9
IGxpc3RbMF07CisKKyAgICAvLyBTdGFydCBhIHZlcnkgc2hvcnQgc3BlYWtpbmcgam9iIHRoYXQg
d2lsbCBmaW5pc2ggcXVpY2tseS4KKyAgICB2YXIgdSA9IG5ldyBTcGVlY2hTeW50aGVzaXNVdHRl
cmFuY2UoInRoaXMgaXMgYSB0ZXN0IHN0cmluZy4iKTsKKyAgICB1LnZvaWNlID0gdm9pY2U7CisK
KyAgICBkZWJ1ZygiVmVyaWZ5IHRoYXQgc2V0dGluZyBhbmQgcmV0cmlldmluZyB0aGUgdm9pY2Ug
d29ya3MuIik7CisgICAgc2hvdWxkQmVUcnVlKCJ1LnZvaWNlLm5hbWUgPT0gdm9pY2UubmFtZSIp
OworCisgICAgdS5vbmVuZCA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgZGVidWcoIlNwZWVj
aCBqb2IgZmluaXNoZWQgc3VjY2Vzc2Z1bGx5LiIpOworICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgIH0KKworICAgIHNwZWVjaFN5bnRoZXNpcy5zcGVhayh1KTsgICAgCisKKzwvc2NyaXB0Pgor
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="211606"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>