<?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>80583</bug_id>
          
          <creation_ts>2012-03-08 02:34:40 -0800</creation_ts>
          <short_desc>[Meta] Audio/Video Elements bugs found by the IE test center</short_desc>
          <delta_ts>2014-05-12 09:17:06 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>UNCONFIRMED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc>http://samples.msdn.microsoft.com/ietestcenter/#html5MediaElements</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>90819</dependson>
          <blocked>43668</blocked>
    
    <blocked>76198</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Arun Patole">arun.patole</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ddkilzer</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>syoichi</cc>
    
    <cc>vcarbune</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>573734</commentid>
    <comment_count>0</comment_count>
    <who name="Arun Patole">arun.patole</who>
    <bug_when>2012-03-08 02:34:40 -0800</bug_when>
    <thetext>Latest IE Testing Center report shows following tests failing on Apple Safari 5.1.2 and Google Chrome 17.0.963.46.
http://samples.msdn.microsoft.com/ietestcenter/#html5MediaElements

Most of them are related to unimplemented AudioTrackList. Need to look at other tests one by one to check if any of them is a bug in our latest implementation and then each can be fixed in a separate bug.

1. HTMLMediaElement&apos;s &apos;audioTracks&apos; attribute is an instance of &apos;AudioTrackList&apos;.
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=AudioTrack-rules

2. There is only ever one &apos;AudioTrackList&apos; object per &apos;HTMLMediaElement&apos;.
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=AudioTrack-rules.1

3. &apos;AudioTrackList&apos; returns the correct length.
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=AudioTrack-rules.3

4. &apos;AudioTrackList&apos; returns the correct length after the video&apos;s source has changed.
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=AudioTrack-rules.4

5. Setting the &apos;enabled&apos; property of an &apos;AudioTrack&apos; instance to &apos;false&apos; disables the track.
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=AudioTrack-rules.14

6. Setting the &apos;enabled&apos; property of an &apos;AudioTrack&apos; instance to &apos;false&apos; disables the track, and the track becomes inaudible.
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=AudioTrack-rules.15

7. When a track is enabled, the user agent must queue a task to fire a &apos;change&apos; event at the &apos;AudioTrackList&apos; object.
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=AudioTrack-rules.16

8. When a track is disabled, the user agent must queue a task to fire a &apos;change&apos; event at the &apos;AudioTrackList&apos; object.
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=AudioTrack-rules.17

9. When a track is enabled, the user agent must invoke the function assigned to the &apos;onchange&apos; property of the &apos;AudioTrackList&apos; object.
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=AudioTrack-rules.18

10. When a track is disabled, the user agent must invoke the function assigned to the &apos;onchange&apos; property of the &apos;AudioTrackList&apos; object.
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=AudioTrack-rules.19

11. An &apos;AudioTrackList&apos; object represents a track list where multiple tracks can be enabled simultaneously.
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=AudioTrack-rules.26

12. An &apos;AudioTrackList&apos; object represents a track list where multiple tracks can be disabled simultaneously.
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=AudioTrack-rules.27

13. Setting the &apos;enabled&apos; property of an &apos;AudioTrack&apos; instance to &apos;true&apos; enables the track.
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=AudioTrack-rules.32

14. Setting the &apos;enabled&apos; property of an &apos;AudioTrack&apos; instance to &apos;true&apos; enables the track, and the track becomes audible.
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=AudioTrack-rules.33

15. The &apos;track&apos; property of the &apos;track&apos; element returns the &apos;TextTrack&apos; associated with the element 
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=track-rules.1

16. The &apos;kind&apos; property of the &apos;TextTrack&apos; object is the &apos;kind&apos; property of its &apos;track&apos; element for the value &apos;subtitles&apos;
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=TextTrack-rules.11

17. The &apos;language&apos; attribute of a &apos;TextTrack&apos; object changes to the empty string (&quot;&quot;) when the &apos;language&apos; attribute is removed from its &apos;track&apos; element
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=TextTrack-rules.27

18. A &apos;TextTrack&apos; object whose &apos;track&apos; element has a &apos;default&apos; attribute becomes showing when that element is appended to a media element that has no default track
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=TextTrack-rules.31

19. A &apos;TextTrack&apos; object whose &apos;track&apos; element does not have a &apos;default&apos; attribute becomes disabled when that element is appended to a media element 
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=TextTrack-rules.33

20. An &apos;error&apos; event fires if a network error occurs while the track resource is downloaded
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=TextTrack-rules.47

21. Resources for showing &apos;track&apos; elements are downloaded
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=TextTrack-rules.6

22. Cues in the &apos;cues&apos; property appear in the correct order
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=TextTrack-rules.9

23. The &apos;track&apos; property of the &apos;track&apos; element returns the &apos;TextTrack&apos; object associated with the element
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=TextTrack-rules.61

24. Cues from showing tracks of kind &apos;subtitles&apos; are displayed
http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements_harness.htm?url=TextTrack-rules.64</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573753</commentid>
    <comment_count>1</comment_count>
    <who name="Arun Patole">arun.patole</who>
    <bug_when>2012-03-08 03:30:11 -0800</bug_when>
    <thetext>#1 to #14 - not yet implemented.

#15, #16, #17, #20, PASS on latest chrome after enabling tracks (--enable-video-track)

#18, #19, FAIL on latest chrome after enabling tracks (--enable-video-track)

#21, #22, #23, #24, FAIL, I get:
ASSERTION FAILED: m_textTracks: HTMLMediaElement.cpp(3812) : void WebCore::HTMLMediaElement::configureTextTrackDisplay()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581718</commentid>
    <comment_count>2</comment_count>
    <who name="Arun Patole">arun.patole</who>
    <bug_when>2012-03-19 03:14:01 -0700</bug_when>
    <thetext>&gt; #21, #22, #23, #24, FAIL, I get:
&gt; ASSERTION FAILED: m_textTracks: HTMLMediaElement.cpp(3812) : void WebCore::HTMLMediaElement::configureTextTrackDisplay()

Is this also happening on mac?
HTMLMediaElement::textTrackModeChanged getting called before HTMLMediaElement::trackWasAdded and so m_textTracks is not assigned any value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585681</commentid>
    <comment_count>3</comment_count>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2012-03-22 14:13:08 -0700</bug_when>
    <thetext>&gt; #18, #19, FAIL on latest chrome after enabling tracks (--enable-video-track)
#18 can&apos;t be passed on WebKit because it has the following test
&quot;if (trackElem.track.mode === TextTrack.OFF)&quot; and TextTrack.OFF is not defined in the spec anymore (or at least I can&apos;t find it - seems to be called TextTrack.DISABLED).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586309</commentid>
    <comment_count>4</comment_count>
      <attachid>133477</attachid>
    <who name="Andrei Poenaru">andrey_poenaru</who>
    <bug_when>2012-03-23 07:14:14 -0700</bug_when>
    <thetext>Created attachment 133477
Fixed tests #18 and #19

Added code and relevant test file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586440</commentid>
    <comment_count>5</comment_count>
      <attachid>133477</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-03-23 09:50:59 -0700</bug_when>
    <thetext>Comment on attachment 133477
Fixed tests #18 and #19

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

While this patch fixes the problem, I think it takes the wrong approach. The TextTrackList is just a specialized container that doesn&apos;t really know anything about the behavior of a TextTrack. The TextTrackList is owned and managed by an HTMLMediaElement, which already knows about its HTMLTrackElement children, so I think it makes much more sense to have the logic about enabling the default track live there.

Also, I prefer to have the actual spec text in the sources as comments (as we do in most of the media element code). This part of the spec is fairly complex and it is still changing, so having the actual spec in the source makes it easier to follow the logic and to see when we need to change something because of a spec change.

Thanks for taking picking this up!

&gt; Source/WebCore/html/HTMLTrackElement.cpp:84
&gt; +        if (!isDefault())
&gt; +            m_track-&gt;setMode(TextTrack::DISABLED, ec);

Are you certain that m_track can&apos;t be NULL here? &quot;ensureTrack()-&gt;setMode(TextTrack::DISABLED, ec)&quot; would be much safer.

&gt; Source/WebCore/html/track/TextTrackList.h:98
&gt; +    LoadableTextTrack* m_defaultTrack; 

Hanging onto a raw pointer to an object whose lifetime is managed elsewhere is fraught with peril.

&gt; LayoutTests/media/track/track-appended-changes-mode.html:9
&gt; +            var videoElem1, videoElem2;
&gt; +            var trackElem1, trackElem2;

Nit: WebKit style is to declare each variable separately.

&gt; LayoutTests/media/track/track-appended-changes-mode.html:19
&gt; +                testExpected(&quot;trackElem1.track.mode == TextTrack.SHOWING&quot;, true);

You should also test adding a second track with the default attribute set to make sure it is NOT showing.

&gt; LayoutTests/media/track/track-appended-changes-mode.html:26
&gt; +                run(&quot;videoElem2.appendChild(trackElem2)&quot;);
&gt; +                testExpected(&quot;trackElem2.track.mode == TextTrack.DISABLED&quot;, true);

And you might as well test adding a track with &apos;default&apos; after adding one without to make sure it is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586441</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-03-23 09:52:26 -0700</bug_when>
    <thetext>Also, I think it would be better to create a new bug for just this fix. We like to have one bug per fix, so consider this the umbrella bug for the changes we need to make to the media element.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133477</attachid>
            <date>2012-03-23 07:14:14 -0700</date>
            <delta_ts>2012-03-23 09:50:59 -0700</delta_ts>
            <desc>Fixed tests #18 and #19</desc>
            <filename>bug-80583-20120323161412.patch</filename>
            <type>text/plain</type>
            <size>8440</size>
            <attacher name="Andrei Poenaru">andrey_poenaru</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExODQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWViYTFhZjgyYmUyMjdk
ZDc5ODdkOTZkYTFhMjE5NGJhMTZjOTkzZC4uNDJhNGUzZWJhODJiZTdlNGJlYWRhYzAzMGMwMjZi
N2FhZTM4OGYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAzLTIzICBBbmRy
ZWkgUG9lbmFydSA8YW5kcmV5X3BvZW5hcnVAeWFob28uY29tPgorCisgICAgICAgIEZpeGVkIFRl
eHRUcmFjayBtb2RlIHdoZW4gdGhlIHRyYWNrIGhhcyBqdXN0IGJlZW4gYWRkZWQKKyAgICAgICAg
dG8gdGhlIEhUTUxNZWRpYUVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04MDU4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL3RyYWNrL3RyYWNrLWFwcGVuZGVkLWNoYW5nZXMt
bW9kZS5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwOiBTZXR0aW5n
IHRoZSB0cmFjayBtb2RlCisgICAgICAgIHRvIERJU0FCTEVEIGlmIGl0IGRvZXNuJ3QgaGF2ZSB0
aGUgZGVmYXVsdCBhdHRyaWJ1dGUuCisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50
OjppbnNlcnRlZEludG9UcmVlKTogVXBkYXRlZC4KKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRU
cmFja0xpc3QuY3BwOiBLZWVwaW5nIGEgZGVmYXVsdCB0ZXh0CisgICAgICAgIHRyYWNrIGF0IGFu
eSBtb21lbnQuCisgICAgICAgIChUZXh0VHJhY2tMaXN0OjpUZXh0VHJhY2tMaXN0KTogSW5pdGlh
bGl6ZWQgZGVmYXVsdCB0cmFjaworICAgICAgICBwb2ludGVyIHRvIE5VTEwuCisgICAgICAgIChU
ZXh0VHJhY2tMaXN0OjphcHBlbmQpOiBVcGRhdGluZyB0aGUgZGVmYXVsdCB0cmFjayBpZiByZXF1
aXJlZC4KKyAgICAgICAgKFRleHRUcmFja0xpc3Q6OnJlbW92ZSk6IENoZWNraW5nIGlmIHRoZSBy
ZW1vdmVkIHRyYWNrIHdhcyB0aGUKKyAgICAgICAgZGVmYXVsdCBvbmUuCisgICAgICAgICogaHRt
bC90cmFjay9UZXh0VHJhY2tMaXN0Lmg6IEFkZGVkIHZhcmlhYmxlLgorICAgICAgICAoVGV4dFRy
YWNrTGlzdCk6CisKIDIwMTItMDMtMjMgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTExNzU0KTogcGx1Z2lucy9yZWxvYWRwbHVnaW5zLWFu
ZC1wYWdlcy5odG1sIGZhaWxzIG9uIGFsbCBwbGF0Zm9ybXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUcmFja0VsZW1lbnQuY3BwCmluZGV4IDYwMDU3OTlkYjc1ODgxNTljNTY1MTNkN2ViNzRlNzZh
NDE0YzgyYzkuLjIyYTNkMTViZGRiNWQ1MWVlYTlhODg3ZDgwZWJiMDhjMmFkYmRmM2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcApAQCAtNzUsOSArNzUsMTQgQEAg
UGFzc1JlZlB0cjxIVE1MVHJhY2tFbGVtZW50PiBIVE1MVHJhY2tFbGVtZW50OjpjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmEKIHZvaWQgSFRNTFRyYWNrRWxlbWVudDo6aW5zZXJ0ZWRJ
bnRvVHJlZShib29sIGRlZXApCiB7CiAgICAgSFRNTEVsZW1lbnQ6Omluc2VydGVkSW50b1RyZWUo
ZGVlcCk7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAKLSAgICBpZiAoSFRNTE1lZGlhRWxl
bWVudCogcGFyZW50ID0gbWVkaWFFbGVtZW50KCkpCisgICAgaWYgKEhUTUxNZWRpYUVsZW1lbnQq
IHBhcmVudCA9IG1lZGlhRWxlbWVudCgpKSB7CiAgICAgICAgIHBhcmVudC0+ZGlkQWRkVHJhY2so
dGhpcyk7CisKKyAgICAgICAgaWYgKCFpc0RlZmF1bHQoKSkKKyAgICAgICAgICAgIG1fdHJhY2st
PnNldE1vZGUoVGV4dFRyYWNrOjpESVNBQkxFRCwgZWMpOworICAgIH0KIH0KIAogdm9pZCBIVE1M
VHJhY2tFbGVtZW50Ojp3aWxsUmVtb3ZlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1Rl
eHRUcmFja0xpc3QuY3BwCmluZGV4IDZkNzJhYTBhZWE3OTM5ZDg2MjI1OTNhMzY0OTM0ZWJjMWQ2
MjI4MzUuLmVhM2RiNDBmOTBmMjE5MDhhODFiNTM5YzkxNDgzOTJkZjM0ZWYyYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmNwcApAQCAtMzEsNyArMzEsNyBA
QAogCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQu
aCIKLSNpbmNsdWRlICJMb2FkYWJsZVRleHRUcmFjay5oIgorI2luY2x1ZGUgIkhUTUxUcmFja0Vs
ZW1lbnQuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAi
VGV4dFRyYWNrLmgiCiAjaW5jbHVkZSAiVHJhY2tFdmVudC5oIgpAQCAtNDMsNiArNDMsNyBAQCBU
ZXh0VHJhY2tMaXN0OjpUZXh0VHJhY2tMaXN0KEhUTUxNZWRpYUVsZW1lbnQqIG93bmVyLCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjbwogICAgICwgbV9vd25lcihvd25lcikKICAgICAsIG1fcGVu
ZGluZ0V2ZW50VGltZXIodGhpcywgJlRleHRUcmFja0xpc3Q6OmFzeW5jRXZlbnRUaW1lckZpcmVk
KQogICAgICwgbV9kaXNwYXRjaGluZ0V2ZW50cygwKQorICAgICwgbV9kZWZhdWx0VHJhY2soMCkK
IHsKICAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsKIH0KQEAgLTkxLDE0ICs5Miwy
NCBAQCBUZXh0VHJhY2sqIFRleHRUcmFja0xpc3Q6Oml0ZW0odW5zaWduZWQgaW5kZXgpCiB2b2lk
IFRleHRUcmFja0xpc3Q6OmFwcGVuZChQYXNzUmVmUHRyPFRleHRUcmFjaz4gcHJwVHJhY2spCiB7
CiAgICAgUmVmUHRyPFRleHRUcmFjaz4gdHJhY2sgPSBwcnBUcmFjazsKKyAgICBFeGNlcHRpb25D
b2RlIGVjOwogCiAgICAgaWYgKHRyYWNrLT50cmFja1R5cGUoKSA9PSBUZXh0VHJhY2s6OkFkZFRy
YWNrKQogICAgICAgICBtX2FkZFRyYWNrVHJhY2tzLmFwcGVuZCh0cmFjayk7CiAgICAgZWxzZSBp
ZiAodHJhY2stPnRyYWNrVHlwZSgpID09IFRleHRUcmFjazo6VHJhY2tFbGVtZW50KSB7CiAgICAg
ICAgIC8vIEluc2VydCB0cmFja3MgYWRkZWQgZm9yIDx0cmFjaz4gZWxlbWVudCBpbiB0cmVlIG9y
ZGVyLgotICAgICAgICBzaXplX3QgaW5kZXggPSBzdGF0aWNfY2FzdDxMb2FkYWJsZVRleHRUcmFj
ayo+KHRyYWNrLmdldCgpKS0+dHJhY2tFbGVtZW50SW5kZXgoKTsKKyAgICAgICAgTG9hZGFibGVU
ZXh0VHJhY2sqIHRyYWNrUHRyID0gc3RhdGljX2Nhc3Q8TG9hZGFibGVUZXh0VHJhY2sqPih0cmFj
ay5nZXQoKSk7CisgICAgICAgIHNpemVfdCBpbmRleCA9IHRyYWNrUHRyLT50cmFja0VsZW1lbnRJ
bmRleCgpOwogICAgICAgICBtX2VsZW1lbnRUcmFja3MuaW5zZXJ0KGluZGV4LCB0cmFjayk7CiAK
KyAgICAgICAgaWYgKHRyYWNrUHRyLT50cmFja0VsZW1lbnQoKS0+aXNEZWZhdWx0KCkpIHsKKyAg
ICAgICAgICAgIGlmICghbV9kZWZhdWx0VHJhY2spIHsKKyAgICAgICAgICAgICAgICBtX2RlZmF1
bHRUcmFjayA9IHRyYWNrUHRyOworICAgICAgICAgICAgICAgIHRyYWNrUHRyIC0+IHNldE1vZGUo
VGV4dFRyYWNrOjpTSE9XSU5HLCBlYyk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAg
ICAgICB0cmFja1B0ci0+dHJhY2tFbGVtZW50KCktPnNldElzRGVmYXVsdChmYWxzZSk7CisgICAg
ICAgIH0KKwogICAgICAgICAvLyBJbnZhbGlkYXRlIHRoZSBjYWNoZWQgaW5kZXggZm9yIGFsbCB0
aGUgZm9sbG93aW5nIHRyYWNrcy4KICAgICAgICAgZm9yIChzaXplX3QgaSA9IGluZGV4OyBpIDwg
bV9lbGVtZW50VHJhY2tzLnNpemUoKTsgKytpKQogICAgICAgICAgICAgbV9lbGVtZW50VHJhY2tz
W2ldLT5pbnZhbGlkYXRlVHJhY2tJbmRleCgpOwpAQCAtMTE5LDkgKzEzMCwxMiBAQCB2b2lkIFRl
eHRUcmFja0xpc3Q6OnJlbW92ZShUZXh0VHJhY2sqIHRyYWNrKQogewogICAgIFZlY3RvcjxSZWZQ
dHI8VGV4dFRyYWNrPiA+KiB0cmFja3MgPSAwOwogCi0gICAgaWYgKHRyYWNrLT50cmFja1R5cGUo
KSA9PSBUZXh0VHJhY2s6OlRyYWNrRWxlbWVudCkKKyAgICBpZiAodHJhY2stPnRyYWNrVHlwZSgp
ID09IFRleHRUcmFjazo6VHJhY2tFbGVtZW50KSB7CiAgICAgICAgIHRyYWNrcyA9ICZtX2VsZW1l
bnRUcmFja3M7Ci0gICAgZWxzZSBpZiAodHJhY2stPnRyYWNrVHlwZSgpID09IFRleHRUcmFjazo6
QWRkVHJhY2spCisKKyAgICAgICAgaWYgKG1fZGVmYXVsdFRyYWNrID09IHRyYWNrKQorICAgICAg
ICAgICAgbV9kZWZhdWx0VHJhY2sgPSAwOworICAgIH0gZWxzZSBpZiAodHJhY2stPnRyYWNrVHlw
ZSgpID09IFRleHRUcmFjazo6QWRkVHJhY2spCiAgICAgICAgIHRyYWNrcyA9ICZtX2FkZFRyYWNr
VHJhY2tzOwogICAgIGVsc2UKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0xpc3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5oCmluZGV4IGQxOTcyNmY2MzcyMDAyMzM3
ODk1OGEwODk3OTNlNDU4YjhmZmQzMDIuLmJjNWJjODg1OTQ2YzBhOWU0NTQ4MWMzZGEwMGY0OTEw
ODc5NmMwMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNr
TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5oCkBA
IC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAi
RXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJMb2FkYWJsZVRleHRUcmFjay5oIiAKICNpbmNsdWRl
ICJUaW1lci5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgpAQCAtOTMsNiArOTQsOCBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxSZWZQdHI8VGV4dFRy
YWNrPiA+IG1fZWxlbWVudFRyYWNrczsKICAgICAKICAgICBpbnQgbV9kaXNwYXRjaGluZ0V2ZW50
czsKKworICAgIExvYWRhYmxlVGV4dFRyYWNrKiBtX2RlZmF1bHRUcmFjazsgCiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2MwY2MzNzY0MWRiOTg1MWMxZmNhMGM4ZjVmOTVi
NzVkNzRkY2YyNi4uODViNWY3YTIzZTliNjViZDBmNDM0MmQ0NTBmNTZiZWZiMTM4YTg0MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAzLTIzICBBbmRyZWkgUG9lbmFydSA8YW5kcmV5X3Bv
ZW5hcnVAeWFob28uY29tPgorCisgICAgICAgIEFkZGVkIHJlbGV2YW50IHRlc3RzIGZvciBzZXR0
aW5nIHRoZSBkZWZhdWx0IHRleHQKKyAgICAgICAgdHJhY2sgbW9kZSwgYWNjb3JkaW5nIHRvIHRo
ZSBzcGVjLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODA1ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IG1lZGlhL3RyYWNrL3RyYWNrLWFwcGVuZGVkLWNoYW5nZXMtbW9kZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWFwcGVuZGVkLWNoYW5nZXMtbW9kZS5o
dG1sOiBBZGRlZC4KKwogMjAxMi0wMy0yMyAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcsIHNraXAgYSBmYWls
aW5nIHRlc3QuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1hcHBl
bmRlZC1jaGFuZ2VzLW1vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2sv
dHJhY2stYXBwZW5kZWQtY2hhbmdlcy1tb2RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZmZh
YmMyNmE2NDY3MTNmNjM0YzViOTkzYWVkMTMyNDY2NzIzY2Y0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stYXBwZW5kZWQtY2hhbmdlcy1tb2RlLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUZXN0cyB0aGF0IGEgJ1RleHRUcmFjaycgb2JqZWN0
J3MgdHJhY2sgZWxlbWVudCBtb2RlIGNoYW5nZXMgd2hlbiBhcHBlbmRlZCB0byBhIG1lZGlhIGVs
ZW1lbnQKKworIAorUlVOKHRyYWNrRWxlbTEuc2V0QXR0cmlidXRlKCJkZWZhdWx0IiwiZGVmYXVs
dCIpKQorUlVOKHZpZGVvRWxlbTEuYXBwZW5kQ2hpbGQodHJhY2tFbGVtMSkpCitFWFBFQ1RFRCAo
dHJhY2tFbGVtMS50cmFjay5tb2RlID09IFRleHRUcmFjay5TSE9XSU5HID09ICd0cnVlJykgT0sK
KworUlVOKHZpZGVvRWxlbTIuYXBwZW5kQ2hpbGQodHJhY2tFbGVtMikpCitFWFBFQ1RFRCAodHJh
Y2tFbGVtMi50cmFjay5tb2RlID09IFRleHRUcmFjay5ESVNBQkxFRCA9PSAndHJ1ZScpIE9LCitF
TkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1h
cHBlbmRlZC1jaGFuZ2VzLW1vZGUuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNr
LWFwcGVuZGVkLWNoYW5nZXMtbW9kZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzZjU5N2JkMGNjN2RmMjky
MmQ3MTY4MTIxODlmMWRiMjdkMTdiYzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay90cmFjay1hcHBlbmRlZC1jaGFuZ2VzLW1vZGUuaHRtbApAQCAtMCwwICsxLDM5
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBo
dHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYt
OCIgLz4KKworICAgICAgICA8c2NyaXB0IHNyYz0uLi92aWRlby10ZXN0LmpzPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgdmFyIHZpZGVvRWxlbTEsIHZpZGVvRWxlbTI7
CisgICAgICAgICAgICB2YXIgdHJhY2tFbGVtMSwgdHJhY2tFbGVtMjsKKworICAgICAgICAgICAg
ZnVuY3Rpb24gcnVuVGVzdHMoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHZpZGVv
RWxlbTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmlkZW8xIik7CisgICAgICAgICAgICAg
ICAgdHJhY2tFbGVtMSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyYWNrIik7CisKKyAgICAg
ICAgICAgICAgICBydW4oInRyYWNrRWxlbTEuc2V0QXR0cmlidXRlKFwiZGVmYXVsdFwiLFwiZGVm
YXVsdFwiKSIpOworICAgICAgICAgICAgICAgIHJ1bigidmlkZW9FbGVtMS5hcHBlbmRDaGlsZCh0
cmFja0VsZW0xKSIpOworCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFja0VsZW0x
LnRyYWNrLm1vZGUgPT0gVGV4dFRyYWNrLlNIT1dJTkciLCB0cnVlKTsKKworICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAgdmlkZW9FbGVtMiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ2aWRlbzIiKTsKKyAgICAgICAgICAgICAgICB0cmFja0VsZW0y
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidHJhY2siKTsKKworICAgICAgICAgICAgICAgIHJ1
bigidmlkZW9FbGVtMi5hcHBlbmRDaGlsZCh0cmFja0VsZW0yKSIpOworICAgICAgICAgICAgICAg
IHRlc3RFeHBlY3RlZCgidHJhY2tFbGVtMi50cmFjay5tb2RlID09IFRleHRUcmFjay5ESVNBQkxF
RCIsIHRydWUpOworCisgICAgICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICAgICAgfQor
ICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJydW5UZXN0
cygpIj4KKyAgICAgICAgPHA+VGVzdHMgdGhhdCBhICdUZXh0VHJhY2snIG9iamVjdCdzIHRyYWNr
IGVsZW1lbnQgbW9kZSBjaGFuZ2VzIHdoZW4gYXBwZW5kZWQgdG8gYSBtZWRpYSBlbGVtZW50PC9w
PgorICAgICAgICA8dmlkZW8gaWQ9InZpZGVvMSI+CisgICAgICAgIDwvdmlkZW8+CisgICAgICAg
IDx2aWRlbyBpZD0idmlkZW8yIj4KKyAgICAgICAgPC92aWRlbz4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>
<flag name="review"
          id="137485"
          type_id="1"
          status="-"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>