<?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>115043</bug_id>
          
          <creation_ts>2013-04-23 09:11:44 -0700</creation_ts>
          <short_desc>[Mac] forced subtitle track should change when audio track language changes</short_desc>
          <delta_ts>2013-04-23 16:34:58 -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>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>jer.noble</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>879882</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-04-23 09:11:44 -0700</bug_when>
    <thetext>Because forced subtitles are always shown in the same language as the primary audio track, the forced track should change when the primary audio track changes to a different language.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879883</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-04-23 09:12:07 -0700</bug_when>
    <thetext>&lt;rdar://problem/13716530&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879888</commentid>
    <comment_count>2</comment_count>
      <attachid>199246</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-04-23 09:28:53 -0700</bug_when>
    <thetext>Created attachment 199246
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879966</commentid>
    <comment_count>3</comment_count>
      <attachid>199246</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-04-23 10:34:41 -0700</bug_when>
    <thetext>Comment on attachment 199246
Proposed patch

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

&gt; Source/WebCore/ChangeLog:16
&gt; +        (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Take parameter toa allow

Nit: toa -&gt; to

&gt; Source/WebCore/html/HTMLMediaElement.cpp:3244
&gt; +    if (trackToEnable &amp;&amp; m_captionDisplayMode != CaptionUserPreferences::AlwaysOn &amp;&amp; !defaultTrack &amp;&amp; trackToEnable != fallbackTrack)

Can we move the &quot;trackToEnable&quot; checks together?  They all seem equally cheap (i.e., pointer comparisons).  Also, should this be an else-if?

&gt; Source/WebCore/html/HTMLMediaElement.h:557
&gt; +    enum ReconfigureMode {
&gt; +        Immediately,
&gt; +        AfterDelay,
&gt; +    };
&gt; +    void markCaptionAndSubtitleTracksAsUnconfigured(ReconfigureMode);

Ooh, good use of a boolean enum!

&gt; Source/WebCore/page/CaptionUserPreferencesMac.mm:630
&gt; +    if ((trackHasOnlyForcedSubtitles &amp;&amp; displayMode != ForcedOnly) || (displayMode == ForcedOnly &amp;&amp; !trackHasOnlyForcedSubtitles))

Why is the trackHasOnlyForcedSubtitles check order reversed?  I mean, if you want to go all funhouse-mirror, it should be:

if ((trackHasOnlyForcedSubtitles &amp;&amp; displayMode != ForcedOnly) || (ForcedOnly == displayMode &amp;&amp; !trackHasOnlyForcedSubtitles))

:-D

Or, this could just be re-written as:

if (trackHasOnlyForcedSubtitles == (displayMode != ForcedOnly))

But if that&apos;s &quot;too clever by half&quot;, I&apos;d just move things around to make the two halves more parallel:

if ((trackHasOnlyForcedSubtitles &amp;&amp; displayMode != ForcedOnly) 
    || (!trackHasOnlyForcedSubtitles &amp;&amp; displayMode == ForcedOnly))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880176</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-04-23 16:34:44 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/149005</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199246</attachid>
            <date>2013-04-23 09:28:53 -0700</date>
            <delta_ts>2013-04-23 16:34:58 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patch_media_engine_change_4.txt</filename>
            <type>text/plain</type>
            <size>9627</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0ODk3MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDEzLTA0LTIzICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIGZvcmNlZCBz
dWJ0aXRsZSB0cmFjayBzaG91bGQgY2hhbmdlIHdoZW4gYXVkaW8gdHJhY2sgbGFuZ3VhZ2UgY2hh
bmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE1
MDQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLCBpdCBpc24ndCBwb3NzaWJsZSB0byB0ZXN0IHRoaXMgYXV0b21hdGljYWxseSBi
ZWNhdXNlIHRoZXJlIGlzIGN1cnJlbnRseSBubyB3YXkKKyAgICAgICAgdG8gZW5hYmxlL2Rpc2Fi
bGUgYXVkaW8gdHJhY2tzLgorCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFja0dy
b3VwKTogU2V0IG1fZm9yY2VkT3JBdXRvbWF0aWNTdWJ0aXRsZVRyYWNrTGFuZ3VhZ2UuCisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckNoYXJhY3RlcmlzdGlj
Q2hhbmdlZCk6ICBDYWxsIG1hcmtDYXB0aW9uQW5kU3VidGl0bGVUcmFja3NBc1VuY29uZmlndXJl
ZAorICAgICAgICAgICAgYWZ0ZXIgYSBkZWxheSBpZiB0aGUgbGFuZ3VhZ2Ugb2YgdGhlIHByaW1h
cnkgYXVkaW8gdHJhY2sgY2hhbmdlcy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnQ6OnNldENsb3NlZENhcHRpb25zVmlzaWJsZSk6IG1hcmtDYXB0aW9uQW5kU3VidGl0bGVUcmFj
a3NBc1VuY29uZmlndXJlZCBBUEkgY2hhbmdlLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6bWFya0NhcHRpb25BbmRTdWJ0aXRsZVRyYWNrc0FzVW5jb25maWd1cmVkKTogVGFr
ZSBwYXJhbWV0ZXIgdG9hIGFsbG93CisgICAgICAgICAgICB0aGUgcmVjb25maWd1cmF0aW9uIHRv
IGhhcHBlbiBhZnRlciBhIGRlbGF5IHRvIGF2b2lkIGRvaW5nIGl0IGR1cmluZyBhIGNhbGxiYWNr
IGZyb20gdGhlCisgICAgICAgICAgICBtZWRpYSBlbmdpbmUuIENsZWFyIHRoZSBDb25maWd1cmVU
ZXh0VHJhY2tzIGJpdCBpbiBtX3BlbmRpbmdBY3Rpb25GbGFncyB0byBjYW5jZWwgYW55IHBlbmRp
bmcgCisgICAgICAgICAgICBhc3luY2ggY29uZmlndXJhdGlvbi4KKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuaDoKKworICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNl
c01hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXNNYWM6OnRl
eHRUcmFja1NlbGVjdGlvblNjb3JlKTogQ2xlYW4gdXAgbG9naWMuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQzo6dHJhY2tzQ2hhbmdlZCk6IENhbGwgY2hhcmFjdGVyaXN0aWNDaGFuZ2VkIHdo
ZW4KKyAgICAgICAgICAgIHRoZSBwcmltYXJ5IGF1ZGlvIHRyYWNrIGxhbmd1YWdlIGNoYW5nZXMu
CisKIDIwMTMtMDQtMjMgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAg
ICAgIEF2b2lkIGNvbXB1dGluZyBzdHlsZSB0d2ljZSB3aGVuIGVsZW1lbnQgaGFzIG5vIGV4aXN0
aW5nIHN0eWxlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDE0ODkxMSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxOTUsNiArMzE5NSw5IEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6Y29uZmlndXJlVGV4dFRyYWMKIAogICAgICAgICBpbnQgdHJhY2tTY29yZSA9IGNh
cHRpb25QcmVmZXJlbmNlcyA/IGNhcHRpb25QcmVmZXJlbmNlcy0+dGV4dFRyYWNrU2VsZWN0aW9u
U2NvcmUodGV4dFRyYWNrLmdldCgpLCB0aGlzKSA6IDA7CiAgICAgICAgIGlmICh0cmFja1Njb3Jl
KSB7CisKKyAgICAgICAgICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3Vy
ZVRleHRUcmFja0dyb3VwIC0gICclcycgdHJhY2sgd2l0aCBsYW5ndWFnZSAnJXMnIGhhcyBzY29y
ZSAlaSIsIFN0cmluZyh0ZXh0VHJhY2stPmtpbmQoKSkudXRmOCgpLmRhdGEoKSwgU3RyaW5nKHRl
eHRUcmFjay0+bGFuZ3VhZ2UoKSkudXRmOCgpLmRhdGEoKSwgdHJhY2tTY29yZSk7CisKICAgICAg
ICAgICAgIC8vICogSWYgdGhlIHRleHQgdHJhY2sga2luZCBpcyB7IFtzdWJ0aXRsZXMgb3IgY2Fw
dGlvbnNdIFtkZXNjcmlwdGlvbnNdIH0gYW5kIHRoZSB1c2VyIGhhcyBpbmRpY2F0ZWQgYW4gaW50
ZXJlc3QgaW4gaGF2aW5nIGEKICAgICAgICAgICAgIC8vIHRyYWNrIHdpdGggdGhpcyB0ZXh0IHRy
YWNrIGtpbmQsIHRleHQgdHJhY2sgbGFuZ3VhZ2UsIGFuZCB0ZXh0IHRyYWNrIGxhYmVsIGVuYWJs
ZWQsIGFuZCB0aGVyZSBpcyBubwogICAgICAgICAgICAgLy8gb3RoZXIgdGV4dCB0cmFjayBpbiB0
aGUgbWVkaWEgZWxlbWVudCdzIGxpc3Qgb2YgdGV4dCB0cmFja3Mgd2l0aCBhIHRleHQgdHJhY2sg
a2luZCBvZiBlaXRoZXIgc3VidGl0bGVzCkBAIC0zMjM4LDYgKzMyNDEsMTEgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50Ojpjb25maWd1cmVUZXh0VHJhYwogICAgIGlmICghdHJhY2tUb0VuYWJsZSAm
JiBmYWxsYmFja1RyYWNrKQogICAgICAgICB0cmFja1RvRW5hYmxlID0gZmFsbGJhY2tUcmFjazsK
IAorICAgIGlmICh0cmFja1RvRW5hYmxlICYmIG1fY2FwdGlvbkRpc3BsYXlNb2RlICE9IENhcHRp
b25Vc2VyUHJlZmVyZW5jZXM6OkFsd2F5c09uICYmICFkZWZhdWx0VHJhY2sgJiYgdHJhY2tUb0Vu
YWJsZSAhPSBmYWxsYmFja1RyYWNrKQorICAgICAgICBtX2ZvcmNlZE9yQXV0b21hdGljU3VidGl0
bGVUcmFja0xhbmd1YWdlID0gdHJhY2tUb0VuYWJsZS0+bGFuZ3VhZ2UoKTsKKyAgICBlbHNlCisg
ICAgICAgIG1fZm9yY2VkT3JBdXRvbWF0aWNTdWJ0aXRsZVRyYWNrTGFuZ3VhZ2UgPSBlbXB0eVN0
cmluZygpOworICAgIAogICAgIGlmIChjdXJyZW50bHlFbmFibGVkVHJhY2tzLnNpemUoKSkgewog
ICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGN1cnJlbnRseUVuYWJsZWRUcmFja3Muc2l6
ZSgpOyArK2kpIHsKICAgICAgICAgICAgIFJlZlB0cjxUZXh0VHJhY2s+IHRleHRUcmFjayA9IGN1
cnJlbnRseUVuYWJsZWRUcmFja3NbaV07CkBAIC0zNzk0LDYgKzM4MDIsMTIgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjptZWRpYVBsYXllckNoYXJhYwogICAgIExPRyhNZWRpYSwgIkhUTUxNZWRp
YUVsZW1lbnQ6Om1lZGlhUGxheWVyQ2hhcmFjdGVyaXN0aWNDaGFuZ2VkIik7CiAgICAgCiAgICAg
YmVnaW5Qcm9jZXNzaW5nTWVkaWFQbGF5ZXJDYWxsYmFjaygpOworCisjaWYgRU5BQkxFKFZJREVP
X1RSQUNLKQorICAgIGlmIChtX2ZvcmNlZE9yQXV0b21hdGljU3VidGl0bGVUcmFja0xhbmd1YWdl
ICE9IG1fcGxheWVyLT5sYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soKSkKKyAgICAgICAgbWFy
a0NhcHRpb25BbmRTdWJ0aXRsZVRyYWNrc0FzVW5jb25maWd1cmVkKEFmdGVyRGVsYXkpOworI2Vu
ZGlmCisKICAgICBpZiAoaGFzTWVkaWFDb250cm9scygpKQogICAgICAgICBtZWRpYUNvbnRyb2xz
KCktPnJlc2V0KCk7CiAgICAgaWYgKHJlbmRlcmVyKCkpCkBAIC00NDE3LDggKzQ0MzEsNyBAQCB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldENsb3NlZENhcHRpb25zCiAKICNpZiBFTkFCTEUoVklE
RU9fVFJBQ0spCiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OndlYmtpdFZpZGVvVHJh
Y2tFbmFibGVkKCkpIHsKLSAgICAgICAgbV9wcm9jZXNzaW5nUHJlZmVyZW5jZUNoYW5nZSA9IHRy
dWU7Ci0gICAgICAgIG1hcmtDYXB0aW9uQW5kU3VidGl0bGVUcmFja3NBc1VuY29uZmlndXJlZCgp
OworICAgICAgICBtYXJrQ2FwdGlvbkFuZFN1YnRpdGxlVHJhY2tzQXNVbmNvbmZpZ3VyZWQoSW1t
ZWRpYXRlbHkpOwogICAgICAgICB1cGRhdGVUZXh0VHJhY2tEaXNwbGF5KCk7CiAgICAgfQogI2Vs
c2UKQEAgLTQ2MzcsNyArNDY1MCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y2FwdGlvblBy
ZWZlcmVuY2UKICAgICBzZXRDbG9zZWRDYXB0aW9uc1Zpc2libGUobV9jYXB0aW9uRGlzcGxheU1v
ZGUgPT0gQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6QWx3YXlzT24pOwogfQogCi12b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6Om1hcmtDYXB0aW9uQW5kU3VidGl0bGVUcmFja3NBc1VuY29uZmlndXJlZCgp
Cit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1hcmtDYXB0aW9uQW5kU3VidGl0bGVUcmFja3NBc1Vu
Y29uZmlndXJlZChSZWNvbmZpZ3VyZU1vZGUgbW9kZSkKIHsKICAgICBpZiAoIW1fdGV4dFRyYWNr
cykKICAgICAgICAgcmV0dXJuOwpAQCAtNDY1Nyw3ICs0NjcwLDEzIEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6bWFya0NhcHRpb25BbmRTdWIKICAgICAgICAgaWYgKGtpbmQgPT0gVGV4dFRyYWNr
OjpzdWJ0aXRsZXNLZXl3b3JkKCkgfHwga2luZCA9PSBUZXh0VHJhY2s6OmNhcHRpb25zS2V5d29y
ZCgpKQogICAgICAgICAgICAgdGV4dFRyYWNrLT5zZXRIYXNCZWVuQ29uZmlndXJlZChmYWxzZSk7
CiAgICAgfQotICAgIGNvbmZpZ3VyZVRleHRUcmFja3MoKTsKKworICAgIG1fcHJvY2Vzc2luZ1By
ZWZlcmVuY2VDaGFuZ2UgPSB0cnVlOworICAgIG1fcGVuZGluZ0FjdGlvbkZsYWdzICY9IH5Db25m
aWd1cmVUZXh0VHJhY2tzOworICAgIGlmIChtb2RlID09IEltbWVkaWF0ZWx5KQorICAgICAgICBj
b25maWd1cmVUZXh0VHJhY2tzKCk7CisgICAgZWxzZQorICAgICAgICBzY2hlZHVsZURlbGF5ZWRB
Y3Rpb24oQ29uZmlndXJlVGV4dFRyYWNrcyk7CiB9CiAKICNlbmRpZgpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgJKHJldmlzaW9uIDE0ODkxMSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NTAsNyAr
NTUwLDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVBY3RpdmVUZXh0VHJhY2tDdWVzKGRv
dWJsZSk7CiAgICAgSFRNTFRyYWNrRWxlbWVudCogc2hvd2luZ1RyYWNrV2l0aFNhbWVLaW5kKEhU
TUxUcmFja0VsZW1lbnQqKSBjb25zdDsKIAotICAgIHZvaWQgbWFya0NhcHRpb25BbmRTdWJ0aXRs
ZVRyYWNrc0FzVW5jb25maWd1cmVkKCk7CisgICAgZW51bSBSZWNvbmZpZ3VyZU1vZGUgeworICAg
ICAgICBJbW1lZGlhdGVseSwKKyAgICAgICAgQWZ0ZXJEZWxheSwKKyAgICB9OworICAgIHZvaWQg
bWFya0NhcHRpb25BbmRTdWJ0aXRsZVRyYWNrc0FzVW5jb25maWd1cmVkKFJlY29uZmlndXJlTW9k
ZSk7CiAgICAgdmlydHVhbCB2b2lkIGNhcHRpb25QcmVmZXJlbmNlc0NoYW5nZWQoKSBPVkVSUklE
RTsKICNlbmRpZgogCkBAIC03MjAsNiArNzI0LDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fdHJh
Y2tzQXJlUmVhZHkgOiAxOwogICAgIGJvb2wgbV9oYXZlVmlzaWJsZVRleHRUcmFjayA6IDE7CiAg
ICAgYm9vbCBtX3Byb2Nlc3NpbmdQcmVmZXJlbmNlQ2hhbmdlIDogMTsKKworICAgIFN0cmluZyBt
X2ZvcmNlZE9yQXV0b21hdGljU3VidGl0bGVUcmFja0xhbmd1YWdlOwogICAgIGZsb2F0IG1fbGFz
dFRleHRUcmFja1VwZGF0ZVRpbWU7CiAKICAgICBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpDYXB0
aW9uRGlzcGxheU1vZGUgbV9jYXB0aW9uRGlzcGxheU1vZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNYWMubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWFjLm1tCShyZXZpc2lvbiAxNDg5
MTEpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNYWMubW0J
KHdvcmtpbmcgY29weSkKQEAgLTYyNSwxMiArNjI1LDE0IEBAIGludCBDYXB0aW9uVXNlclByZWZl
cmVuY2VzTWFjOjp0ZXh0VHJhY2sKICAgICAgICAgcmV0dXJuIDA7CiAgICAgaWYgKCF0cmFjay0+
aXNNYWluUHJvZ3JhbUNvbnRlbnQoKSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKGRpc3Bs
YXlNb2RlID09IEZvcmNlZE9ubHkgJiYgIXRyYWNrLT5jb250YWluc09ubHlGb3JjZWRTdWJ0aXRs
ZXMoKSkKKworICAgIGJvb2wgdHJhY2tIYXNPbmx5Rm9yY2VkU3VidGl0bGVzID0gdHJhY2stPmNv
bnRhaW5zT25seUZvcmNlZFN1YnRpdGxlcygpOworICAgIGlmICgodHJhY2tIYXNPbmx5Rm9yY2Vk
U3VidGl0bGVzICYmIGRpc3BsYXlNb2RlICE9IEZvcmNlZE9ubHkpIHx8IChkaXNwbGF5TW9kZSA9
PSBGb3JjZWRPbmx5ICYmICF0cmFja0hhc09ubHlGb3JjZWRTdWJ0aXRsZXMpKQogICAgICAgICBy
ZXR1cm4gMDsKIAogICAgIFZlY3RvcjxTdHJpbmc+IHVzZXJQcmVmZXJyZWRDYXB0aW9uTGFuZ3Vh
Z2VzID0gcHJlZmVycmVkTGFuZ3VhZ2VzKCk7CiAKLSAgICBpZiAoZGlzcGxheU1vZGUgPT0gQXV0
b21hdGljIHx8IHRyYWNrLT5jb250YWluc09ubHlGb3JjZWRTdWJ0aXRsZXMoKSkgeworICAgIGlm
IChkaXNwbGF5TW9kZSA9PSBBdXRvbWF0aWMgfHwgdHJhY2tIYXNPbmx5Rm9yY2VkU3VidGl0bGVz
KSB7CiAKICAgICAgICAgaWYgKCFtZWRpYUVsZW1lbnQgfHwgIW1lZGlhRWxlbWVudC0+cGxheWVy
KCkpCiAgICAgICAgICAgICByZXR1cm4gMDsKQEAgLTY1MSw3ICs2NTMsMTQgQEAgaW50IENhcHRp
b25Vc2VyUHJlZmVyZW5jZXNNYWM6OnRleHRUcmFjawogICAgICAgICBpZiAoYXVkaW9UcmFja0xh
bmd1YWdlLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiAwOwogCi0gICAgICAgIGlmIChk
aXNwbGF5TW9kZSA9PSBBdXRvbWF0aWMpIHsKKyAgICAgICAgaWYgKHRyYWNrSGFzT25seUZvcmNl
ZFN1YnRpdGxlcykgeworICAgICAgICAgICAgbGFuZ3VhZ2VMaXN0LmFwcGVuZChhdWRpb1RyYWNr
TGFuZ3VhZ2UpOworICAgICAgICAgICAgc2l6ZV90IG9mZnNldCA9IGluZGV4T2ZCZXN0TWF0Y2hp
bmdMYW5ndWFnZUluTGlzdCh0ZXh0VHJhY2tMYW5ndWFnZSwgbGFuZ3VhZ2VMaXN0KTsKKworICAg
ICAgICAgICAgLy8gT25seSBjb25zaWRlciBhIGZvcmNlZC1vbmx5IHRyYWNrIGlmIGl0IElTIGlu
IHRoZSBzYW1lIGxhbmd1YWdlIGFzIHRoZSBwcmltYXJ5IGF1ZGlvIHRyYWNrLgorICAgICAgICAg
ICAgaWYgKG9mZnNldCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIGxhbmd1YWdlTGlzdC5hcHBlbmQoZGVmYXVsdExhbmd1YWdlKCkpOwog
CiAgICAgICAgICAgICAvLyBPbmx5IGVuYWJsZSBhIHRleHQgdHJhY2sgaWYgdGhlIGN1cnJlbnQg
YXVkaW8gdHJhY2sgaXMgTk9UIGluIHRoZSB1c2VyJ3MgcHJlZmVycmVkIGxhbmd1YWdlIC4uLgpA
QCAtNjYzLDEzICs2NzIsNiBAQCBpbnQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01hYzo6dGV4dFRy
YWNrCiAgICAgICAgICAgICBvZmZzZXQgPSBpbmRleE9mQmVzdE1hdGNoaW5nTGFuZ3VhZ2VJbkxp
c3QodGV4dFRyYWNrTGFuZ3VhZ2UsIGxhbmd1YWdlTGlzdCk7CiAgICAgICAgICAgICBpZiAob2Zm
c2V0KQogICAgICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgbGFuZ3VhZ2VMaXN0LmFwcGVuZChhdWRpb1RyYWNrTGFuZ3VhZ2UpOwotICAgICAgICAg
ICAgc2l6ZV90IG9mZnNldCA9IGluZGV4T2ZCZXN0TWF0Y2hpbmdMYW5ndWFnZUluTGlzdCh0ZXh0
VHJhY2tMYW5ndWFnZSwgbGFuZ3VhZ2VMaXN0KTsKLQotICAgICAgICAgICAgLy8gT25seSBjb25z
aWRlciBhIGZvcmNlZC1vbmx5IHRyYWNrIGlmIGl0IElTIGluIHRoZSBzYW1lIGxhbmd1YWdlIGFz
IHRoZSBwcmltYXJ5IGF1ZGlvIHRyYWNrLgotICAgICAgICAgICAgaWYgKG9mZnNldCkKLSAgICAg
ICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQogCiAgICAgICAgIHVzZXJQcmVmZXJyZWRD
YXB0aW9uTGFuZ3VhZ2VzID0gbGFuZ3VhZ2VMaXN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
Lm1tCShyZXZpc2lvbiAxNDg5MTEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC05NzMsNiArOTczLDcgQEAgZmxvYXQgTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQwogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakM6OnRyYWNrc0NoYW5nZWQoKQogeworICAgIFN0cmluZyBwcmltYXJ5QXVkaW9UcmFja0xh
bmd1YWdlID0gbV9sYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2s7CiAgICAgbV9sYW5ndWFnZU9m
UHJpbWFyeUF1ZGlvVHJhY2sgPSBTdHJpbmcoKTsKIAogICAgIGlmICghbV9hdkFzc2V0KQpAQCAt
MTAyNiw2ICsxMDI3LDkgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
OgogICAgICAgICB0aGlzLCBib29sU3RyaW5nKGhhc1ZpZGVvKCkpLCBib29sU3RyaW5nKGhhc0F1
ZGlvKCkpLCBib29sU3RyaW5nKGhhc0Nsb3NlZENhcHRpb25zKCkpKTsKIAogICAgIHNpemVDaGFu
Z2VkKCk7CisKKyAgICBpZiAoIXByaW1hcnlBdWRpb1RyYWNrTGFuZ3VhZ2UuaXNOdWxsKCkgJiYg
cHJpbWFyeUF1ZGlvVHJhY2tMYW5ndWFnZSAhPSBsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2so
KSkKKyAgICAgICAgcGxheWVyKCktPmNoYXJhY3RlcmlzdGljQ2hhbmdlZCgpOwogfQogCiB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNpemVDaGFuZ2VkKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>