<?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>96339</bug_id>
          
          <creation_ts>2012-09-10 17:05:23 -0700</creation_ts>
          <short_desc>[chromium] Video captions should use full video space when controls disappear</short_desc>
          <delta_ts>2013-04-08 15:13:02 -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>WONTFIX</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>84672</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Silvia Pfeiffer">silviapf</reporter>
          <assigned_to name="Silvia Pfeiffer">silviapf</assigned_to>
          <cc>annacc</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>jer.noble</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>schenney</cc>
    
    <cc>vcarbune</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>716698</commentid>
    <comment_count>0</comment_count>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-09-10 17:05:23 -0700</bug_when>
    <thetext>There&apos;s a bug in the video controls that makes the panel display:none, but leaves the enclosure sitting there transparently. This inhibits the video captions from using the full video viewport.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835918</commentid>
    <comment_count>1</comment_count>
      <attachid>188978</attachid>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2013-02-18 20:35:45 -0800</bug_when>
    <thetext>Created attachment 188978
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836390</commentid>
    <comment_count>2</comment_count>
      <attachid>188978</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-02-19 07:46:47 -0800</bug_when>
    <thetext>Comment on attachment 188978
Patch

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

&gt; Source/WebCore/html/shadow/MediaControlElements.cpp:319
&gt; +void MediaControlPanelEnclosureElement::startTimer()
&gt; +{
&gt; +    stopTimer();
&gt; +
&gt; +    // The timer is required to set the property display:&apos;none&apos; on the panel,
&gt; +    // such that captions are correctly displayed at the bottom of the video
&gt; +    // at the end of the fadeout transition.
&gt; +    double duration = document()-&gt;page() ? document()-&gt;page()-&gt;theme()-&gt;mediaControlsFadeOutDuration() : 0;
&gt; +    m_transitionTimer.startOneShot(duration);
&gt; +}
&gt; +
&gt; +void MediaControlPanelEnclosureElement::stopTimer()
&gt; +{
&gt; +    if (m_transitionTimer.isActive())
&gt; +        m_transitionTimer.stop();
&gt; +}
&gt; +
&gt; +void MediaControlPanelEnclosureElement::transitionTimerFired(Timer&lt;MediaControlPanelEnclosureElement&gt;*)
&gt; +{
&gt; +    if (!m_opaque)
&gt; +        hide();
&gt; +
&gt; +    stopTimer();
&gt; +}

It looks like these were copied verbatim from MediaControlPanelElement. Both classes both derive from MediaControlDivElement, can these be moved there instead so we have only one implementation?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836864</commentid>
    <comment_count>3</comment_count>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2013-02-19 15:31:27 -0800</bug_when>
    <thetext>Yes they were. :-)

MediaControlDivElement is the parent for almost all controls. Only MediaControlPanelElement and MediaControlPanelEnclosureElement need the timer before hiding. I could create another common parent between the two but it seems the extra class hierarchy is less efficient than this small amount of copied code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836955</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-02-19 16:36:19 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Yes they were. :-)
&gt; 
&gt; MediaControlDivElement is the parent for almost all controls. Only MediaControlPanelElement and MediaControlPanelEnclosureElement need the timer before hiding. I could create another common parent between the two but it seems the extra class hierarchy is less efficient than this small amount of copied code.

I don&apos;t see any reason it couldn&apos;t go into the base class. We don&apos;t want objects that don&apos;t need a timer to have one, but you can use an OwnPtr&lt;Timer&lt;..&gt; &gt; and have startTimer() allocate it the first time it is called. See RenderButton::styleDidChange for an example of how this might work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837005</commentid>
    <comment_count>5</comment_count>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2013-02-19 17:20:38 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; I don&apos;t see any reason it couldn&apos;t go into the base class. We don&apos;t want objects that don&apos;t need a timer to have one, but you can use an OwnPtr&lt;Timer&lt;..&gt; &gt; and have startTimer() allocate it the first time it is called. See RenderButton::styleDidChange for an example of how this might work.

Good idea, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839164</commentid>
    <comment_count>6</comment_count>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2013-02-21 20:05:07 -0800</bug_when>
    <thetext>Just noticed it on MediaControlEmbeddedPanelElement of the Blackberry controls, too. This will remove some duplicated code from there, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839345</commentid>
    <comment_count>7</comment_count>
      <attachid>189709</attachid>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2013-02-22 01:01:00 -0800</bug_when>
    <thetext>Created attachment 189709
move timer into MediaControlDivElement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839383</commentid>
    <comment_count>8</comment_count>
      <attachid>189709</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-22 01:49:35 -0800</bug_when>
    <thetext>Comment on attachment 189709
move timer into MediaControlDivElement

Attachment 189709 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16698688

New failing tests:
media/video-controls-toggling.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839672</commentid>
    <comment_count>9</comment_count>
      <attachid>189709</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-02-22 09:54:37 -0800</bug_when>
    <thetext>Comment on attachment 189709
move timer into MediaControlDivElement

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

Nice refactoring, thanks for taking the extra time to do it!

&gt; Source/WebCore/html/shadow/MediaControlElementTypes.cpp:154
&gt; +    double duration = document()-&gt;page() ? document()-&gt;page()-&gt;theme()-&gt;mediaControlsFadeInDuration() : 0;
&gt; +
&gt; +    setInlineStyleProperty(CSSPropertyWebkitTransitionProperty, CSSPropertyOpacity);
&gt; +    setInlineStyleProperty(CSSPropertyWebkitTransitionDuration, duration, CSSPrimitiveValue::CSS_S);
&gt; +    setInlineStyleProperty(CSSPropertyOpacity, 1.0, CSSPrimitiveValue::CSS_NUMBER);
&gt; +
&gt; +    setOpaque(true);

Nit: if this was in a separate method it could be shared by makeOpaque and makeTransparent.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188978</attachid>
            <date>2013-02-18 20:35:45 -0800</date>
            <delta_ts>2013-02-22 01:00:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96339-20130219153216.patch</filename>
            <type>text/plain</type>
            <size>6375</size>
            <attacher name="Silvia Pfeiffer">silviapf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzMjc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmM2YTRlNTk3NDNiYmY2
OGNkOTM1NjZkNWJjMTc2MjIwZjZlZGIyMi4uZTI0OGMxNzA5ZTQ0Nzc3MmQ5NDg0YmIxZWNiNjIw
NGE1NTc0YjEwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAyLTE4ICBTaWx2
aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVt
XSBWaWRlbyBjYXB0aW9ucyBzaG91bGQgdXNlIGZ1bGwgdmlkZW8gc3BhY2Ugd2hlbiBjb250cm9s
cyBkaXNhcHBlYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTk2MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW50cm9kdWNlIGEgdGltZXIgZm9yIGhpZGluZyB0aGUgbWVkaWEgY29udHJvbCBlbmNsb3N1
cmUgZWxlbWVudCBpbiBDaHJvbWl1bSwKKyAgICAgICAgc3VjaCB0aGF0IGNhcHRpb25zIGNhbiBt
YWtlIHVzZSBvZiB0aGUgZnVsbCB2aWRlbyB2aWV3cG9ydCBmb3IgcmVuZGVyaW5nIHdoZW4KKyAg
ICAgICAgY29udHJvbHMgZGlzYXBwZWFyIGR1cmluZyBwbGF5YmFjay4KKworICAgICAgICBObyBu
ZXcgdGVzdHMgLSBjYXB0aW9uIHRlc3RzIGNvdmVyIHRoaXMuCisKKyAgICAgICAgKiBodG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNv
bnRyb2xQYW5lbEVuY2xvc3VyZUVsZW1lbnQ6Ok1lZGlhQ29udHJvbFBhbmVsRW5jbG9zdXJlRWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVuY2xvc3VyZUVsZW1l
bnQ6Om1ha2VPcGFxdWUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxFbmNs
b3N1cmVFbGVtZW50OjptYWtlVHJhbnNwYXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFD
b250cm9sUGFuZWxFbmNsb3N1cmVFbGVtZW50OjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFBhbmVsRW5jbG9zdXJlRWxlbWVudDo6c3RvcFRpbWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRW5jbG9zdXJlRWxlbWVudDo6dHJhbnNpdGlv
blRpbWVyRmlyZWQpOgorICAgICAgICBBZGQgaGlkaW5nIHRpbWVyIGxvZ2ljIHRvIGVuY2xvc3Vy
ZSBlbGVtZW50LgorCisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMu
aDoKKyAgICAgICAgKE1lZGlhQ29udHJvbFBhbmVsRW5jbG9zdXJlRWxlbWVudCk6CisgICAgICAg
IEFkZCBoaWRpbmcgdGltZXIgdG8gZW5jbG9zZXIgZWxlbWVudC4KKworICAgICAgICAqIGh0bWwv
c2hhZG93L01lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUNvbnRyb2xzQ2hyb21pdW06Om1ha2VPcGFxdWUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFD
b250cm9sc0Nocm9taXVtOjptYWtlVHJhbnNwYXJlbnQpOgorICAgICAgICBPdmVycmlkZSB0aGUg
ZGVmYXVsdCBtZWRpYSBjb250cm9scyBoaWRpbmcgbG9naWMgZm9yIENocm9taXVtLgorCisgICAg
ICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0Nocm9taXVtLmg6CisgICAgICAgIEFkZCBv
dmVycmlkZW50IG1ha2VPcGFxdWUoKSBhbmQgbWFrZVRyYW5zcGFyZW50KCkgZnVuY3Rpb25zIHRv
IGNsYXNzLgorCiAyMDEzLTAyLTE4ICBwZWF2b0BvdXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2su
Y29tPgogCiAgICAgICAgIFtDdXJsXSBUaGUgZnVuY3Rpb24gY29va2llc0ZvckRPTSgpIGRvZXMg
bm90IGJlaGF2ZSBjb3JyZWN0bHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKaW5kZXggNGJiMjdiMWYyMGMxNmJhYjBkNzExNTc2
ZmY3ZTdkYzkzNjAzNWUxYS4uYmZmNGRlNzA1NzRiNzc1N2MwMzE0NjYxNmVjNDA3ZDRiNzQ3NGQ5
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxl
bWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVs
ZW1lbnRzLmNwcApAQCAtMjYxLDYgKzI2MSw4IEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVt
ZW50OjpzZXRJc0Rpc3BsYXllZChib29sIGlzRGlzcGxheWVkKQogTWVkaWFDb250cm9sUGFuZWxF
bmNsb3N1cmVFbGVtZW50OjpNZWRpYUNvbnRyb2xQYW5lbEVuY2xvc3VyZUVsZW1lbnQoRG9jdW1l
bnQqIGRvY3VtZW50KQogICAgIC8vIE1hcHBpbmcgb250byBzYW1lIE1lZGlhQ29udHJvbEVsZW1l
bnRUeXBlIGFzIHBhbmVsIGVsZW1lbnQsIHNpbmNlIGl0IGhhcyBzaW1pbGFyIHByb3BlcnRpZXMu
CiAgICAgOiBNZWRpYUNvbnRyb2xEaXZFbGVtZW50KGRvY3VtZW50LCBNZWRpYUNvbnRyb2xzUGFu
ZWwpCisgICAgLCBtX29wYXF1ZSh0cnVlKQorICAgICwgbV90cmFuc2l0aW9uVGltZXIodGhpcywg
Jk1lZGlhQ29udHJvbFBhbmVsRW5jbG9zdXJlRWxlbWVudDo6dHJhbnNpdGlvblRpbWVyRmlyZWQp
CiB7CiB9CiAKQEAgLTI3NSw2ICsyNzcsNDcgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBNZWRpYUNv
bnRyb2xQYW5lbEVuY2xvc3VyZUVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkgY29uc3QKICAgICBy
ZXR1cm4gaWQ7CiB9CiAKK3ZvaWQgTWVkaWFDb250cm9sUGFuZWxFbmNsb3N1cmVFbGVtZW50Ojpt
YWtlT3BhcXVlKCkKK3sKKyAgICBpZiAobV9vcGFxdWUpCisgICAgICAgIHJldHVybjsKKyAgICBz
aG93KCk7CisgICAgbV9vcGFxdWUgPSB0cnVlOworfQorCit2b2lkIE1lZGlhQ29udHJvbFBhbmVs
RW5jbG9zdXJlRWxlbWVudDo6bWFrZVRyYW5zcGFyZW50KCkKK3sKKyAgICBpZiAoIW1fb3BhcXVl
KQorICAgICAgICByZXR1cm47CisgICAgbV9vcGFxdWUgPSBmYWxzZTsKKyAgICBzdGFydFRpbWVy
KCk7Cit9CisKK3ZvaWQgTWVkaWFDb250cm9sUGFuZWxFbmNsb3N1cmVFbGVtZW50OjpzdGFydFRp
bWVyKCkKK3sKKyAgICBzdG9wVGltZXIoKTsKKworICAgIC8vIFRoZSB0aW1lciBpcyByZXF1aXJl
ZCB0byBzZXQgdGhlIHByb3BlcnR5IGRpc3BsYXk6J25vbmUnIG9uIHRoZSBwYW5lbCwKKyAgICAv
LyBzdWNoIHRoYXQgY2FwdGlvbnMgYXJlIGNvcnJlY3RseSBkaXNwbGF5ZWQgYXQgdGhlIGJvdHRv
bSBvZiB0aGUgdmlkZW8KKyAgICAvLyBhdCB0aGUgZW5kIG9mIHRoZSBmYWRlb3V0IHRyYW5zaXRp
b24uCisgICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS0+cGFnZSgpID8gZG9jdW1lbnQo
KS0+cGFnZSgpLT50aGVtZSgpLT5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOwor
ICAgIG1fdHJhbnNpdGlvblRpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7Cit9CisKK3ZvaWQg
TWVkaWFDb250cm9sUGFuZWxFbmNsb3N1cmVFbGVtZW50OjpzdG9wVGltZXIoKQoreworICAgIGlm
IChtX3RyYW5zaXRpb25UaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBtX3RyYW5zaXRpb25UaW1l
ci5zdG9wKCk7Cit9CisKK3ZvaWQgTWVkaWFDb250cm9sUGFuZWxFbmNsb3N1cmVFbGVtZW50Ojp0
cmFuc2l0aW9uVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xQYW5lbEVuY2xvc3VyZUVsZW1l
bnQ+KikKK3sKKyAgICBpZiAoIW1fb3BhcXVlKQorICAgICAgICBoaWRlKCk7CisKKyAgICBzdG9w
VGltZXIoKTsKK30KKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBNZWRpYUNv
bnRyb2xPdmVybGF5RW5jbG9zdXJlRWxlbWVudDo6TWVkaWFDb250cm9sT3ZlcmxheUVuY2xvc3Vy
ZUVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKaW5kZXggZDFjZDAyOGI2Zjk0OGNmZmRiNjkw
MGU4ZGFjOGNhMDM0ZGNiOTg5Zi4uMDM4YmY1YWEzMjQ2NzY0MGJjNWQ5MmZjMmFjODI5OTMyZDNh
NmZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
RWxlbWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oCkBAIC04NCw5ICs4NCwxOCBAQCBjbGFzcyBNZWRpYUNvbnRyb2xQYW5lbEVuY2xv
c3VyZUVsZW1lbnQgOiBwdWJsaWMgTWVkaWFDb250cm9sRGl2RWxlbWVudCB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb250cm9sUGFuZWxFbmNsb3N1cmVFbGVtZW50PiBj
cmVhdGUoRG9jdW1lbnQqKTsKIAorICAgIHZvaWQgbWFrZU9wYXF1ZSgpOworICAgIHZvaWQgbWFr
ZVRyYW5zcGFyZW50KCk7CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IE1lZGlhQ29udHJvbFBhbmVs
RW5jbG9zdXJlRWxlbWVudChEb2N1bWVudCopOwogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3Ry
aW5nJiBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0IE9WRVJSSURFOworCisgICAgdm9pZCBzdGFydFRp
bWVyKCk7CisgICAgdm9pZCBzdG9wVGltZXIoKTsKKyAgICB2b2lkIHRyYW5zaXRpb25UaW1lckZp
cmVkKFRpbWVyPE1lZGlhQ29udHJvbFBhbmVsRW5jbG9zdXJlRWxlbWVudD4qKTsKKworICAgIGJv
b2wgbV9vcGFxdWU7CisgICAgVGltZXI8TWVkaWFDb250cm9sUGFuZWxFbmNsb3N1cmVFbGVtZW50
PiBtX3RyYW5zaXRpb25UaW1lcjsKIH07CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHND
aHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzQ2hy
b21pdW0uY3BwCmluZGV4IDQ2NDFiOWQ1ZGVhNmM5NWU5NzAxMjNmZjcxNmNkMjJmZWMxM2FlOWIu
LmFkNTJlZGU2OTFlMTY4MzZmZWUzNzkwNDkzMzM2NzhlMDVjYzA1YjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcApAQCAt
MTUwLDYgKzE1MCwxOCBAQCB2b2lkIE1lZGlhQ29udHJvbHNDaHJvbWl1bTo6c2V0TWVkaWFDb250
cm9sbGVyKE1lZGlhQ29udHJvbGxlckludGVyZmFjZSogY29udHJvbAogICAgICAgICBtX2VuY2xv
c3VyZS0+c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOwogfQogCit2b2lkIE1lZGlhQ29u
dHJvbHNDaHJvbWl1bTo6bWFrZU9wYXF1ZSgpCit7CisgICAgbV9wYW5lbC0+bWFrZU9wYXF1ZSgp
OworICAgIG1fZW5jbG9zdXJlLT5tYWtlT3BhcXVlKCk7Cit9CisKK3ZvaWQgTWVkaWFDb250cm9s
c0Nocm9taXVtOjptYWtlVHJhbnNwYXJlbnQoKQoreworICAgIG1fcGFuZWwtPm1ha2VUcmFuc3Bh
cmVudCgpOworICAgIG1fZW5jbG9zdXJlLT5tYWtlVHJhbnNwYXJlbnQoKTsKK30KKwogdm9pZCBN
ZWRpYUNvbnRyb2xzQ2hyb21pdW06OnJlc2V0KCkKIHsKICAgICBQYWdlKiBwYWdlID0gZG9jdW1l
bnQoKS0+cGFnZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVk
aWFDb250cm9sc0Nocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xzQ2hyb21pdW0uaAppbmRleCA1YzEwNzA4MjA3MzljMjY4ZTAyZWUwNzQ1MzIxN2FkZmQ0
Y2FhZTM3Li41OThkZTdkNzQxZDAxYTIwYTI4NjNkZjhmNGE2ODMyZTU3NjMyMGZlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzQ2hyb21pdW0uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzQ2hyb21pdW0uaApA
QCAtNDAsNiArNDAsOSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0TWVkaWFDb250
cm9sbGVyKE1lZGlhQ29udHJvbGxlckludGVyZmFjZSopIE9WRVJSSURFOwogCisgICAgdmlydHVh
bCB2b2lkIG1ha2VPcGFxdWUoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgbWFrZVRyYW5z
cGFyZW50KCkgT1ZFUlJJREU7CisKICAgICB2aXJ0dWFsIHZvaWQgcmVzZXQoKSBPVkVSUklERTsK
IAogICAgIHZpcnR1YWwgdm9pZCBwbGF5YmFja1N0YXJ0ZWQoKSBPVkVSUklERTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189709</attachid>
            <date>2013-02-22 01:01:00 -0800</date>
            <delta_ts>2013-02-22 09:54:37 -0800</delta_ts>
            <desc>move timer into MediaControlDivElement</desc>
            <filename>bug-96339-20130222195719.patch</filename>
            <type>text/plain</type>
            <size>19703</size>
            <attacher name="Silvia Pfeiffer">silviapf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNjk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYxM2E2YTY2NmU2MjNh
NjhhNmEzNGU4MjZmMTkzZDJlZTdjY2I0NC4uNTM1MDVjNWFiYzdhNzVjOTI0ZjY5OGQ5OTgxMTNj
MDEyMzljYTg3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEzLTAyLTIyICBTaWx2
aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVt
XSBWaWRlbyBjYXB0aW9ucyBzaG91bGQgdXNlIGZ1bGwgdmlkZW8gc3BhY2Ugd2hlbiBjb250cm9s
cyBkaXNhcHBlYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTk2MzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTW92ZSB0aGUgdGltZXIgZm9yIGhpZGluZyB0aGUgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50
IGludG8gaXRzIHBhcmVudCBNZWRpYUNvbnRyb2xEaXZlRWxlbWVudAorICAgICAgICBjbGFzcywg
c2luY2UgQ2hyb21pdW0gbmVlZHMgdGhlIHRpbWVyIGZvciB0aGUgTWVkaWFDb250cm9sc0VuY2xv
c3VyZUVsZW1lbnQgYW5kIEJsYWNrQmVycnkKKyAgICAgICAgZm9yIHRoZSBNZWRpYUNvbnRyb2xF
bWJlZGRlZFBhbmVsRWxlbWVudC4gQWxzbyBtYWtlIGl0IGFuIG93bnB0ciBhbmQgb25seSBhbGxv
Y2F0ZSBpZiBuZWVkZWQuCisgICAgICAgIFRoaXMgZnJlZXMgdGhlIE1lZGlhQ29udHJvbHNFbmNs
b3N1cmVFbGVtZW50IHNwYWNlIHdoZW4gY29udHJvbHMgZGlzYXBwZWFyIGR1cmluZyBwbGF5YmFj
aworICAgICAgICBzdWNoIHRoYXQgY2FwdGlvbnMgY2FuIG1ha2UgdXNlIG9mIHRoZSBmdWxsIHZp
ZGVvIHZpZXdwb3J0IGZvciByZW5kZXJpbmcuCisgICAgICAgIEl0IGFsc28gcmVtb3ZlcyB0aGUg
bmVlZCBmb3IgbV9pc0Rpc3BsYXllZCwgc2luY2UgbV9vcGFxdWUgY292ZXJzIHRoZSBzYW1lIHVz
ZSBjYXNlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAtIHRleHQgdHJhY2sgdGVzdHMgY292ZXIg
dGhpcy4KKworICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRUeXBlcy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xEaXZFbGVtZW50OjpNZWRpYUNvbnRy
b2xEaXZFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbERpdkVsZW1lbnQ6
Om1ha2VPcGFxdWUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sRGl2RWxlbWVudDo6
bWFrZVRyYW5zcGFyZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbERpdkVsZW1l
bnQ6OnN0YXJ0VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sRGl2RWxlbWVu
dDo6c3RvcFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbERpdkVsZW1lbnQ6
OnRyYW5zaXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbERp
dkVsZW1lbnQ6OnNldE9wYXF1ZSk6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
RWxlbWVudFR5cGVzLmg6CisgICAgICAgIChNZWRpYUNvbnRyb2xEaXZFbGVtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbERpdkVsZW1lbnQ6OmlzT3BhcXVlKToKKyAgICAgICAg
QWRkIHRpbWVyIGZ1bmN0aW9ucyB0byBNZWRpYUNvbnRyb2xEaXZFbGVtZW50LgorICAgICAgICBB
ZGQgbWFrZU9wYXF1ZSgpLCBtYWtlVHJhbnNwYXJlbnQoKSwgaXNPcGFxdWUoKSBhbmQgc2V0T3Bh
cXVlKCkgZm9yIG1fb3BhcXVlIGhhbmRsaW5nLgorCisgICAgICAgICogaHRtbC9zaGFkb3cvTWVk
aWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFu
ZWxFbGVtZW50OjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvc2hh
ZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmg6CisgICAgICAgIChNZWRpYUNvbnRyb2xQYW5lbEVs
ZW1lbnQpOgorICAgICAgICBSZW1vdmUgdGltZXIgZnVuY3Rpb25zIGFuZCBvcGFxdWUgYW5kIGlz
RGlzcGxheWVkIGhhbmRsaW5nIGZyb20gTWVkaWFDb250cm9sUGFuZWxFbGVtZW50LgorCisgICAg
ICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNvbnRyb2xzOjpzaG93KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHM6Omhp
ZGUpOgorICAgICAgICBSZXBsYWNlIHNldElzRGlzcGxheWVkKCkgd2l0aCBzZXRPcGFxdWUoKSB3
aGVyZSBuZWNlc3NhcnkuCisKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzQmxh
Y2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xFbWJlZGRlZFBhbmVs
RWxlbWVudDo6TWVkaWFDb250cm9sRW1iZWRkZWRQYW5lbEVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sc0JsYWNrQmVycnk6OnNob3cpOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFDb250cm9sc0JsYWNrQmVycnk6OmhpZGUpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01l
ZGlhQ29udHJvbHNCbGFja0JlcnJ5Lmg6CisgICAgICAgIChNZWRpYUNvbnRyb2xFbWJlZGRlZFBh
bmVsRWxlbWVudCk6CisgICAgICAgIFJlbW92ZSB0aW1lciBmdW5jdGlvbnMgYW5kIG9wYXF1ZSBh
bmQgaXNEaXNwbGF5ZWQgaGFuZGxpbmcgZnJvbSBNZWRpYUNvbnRyb2xFbWJlZGRlZFBhbmVsRWxl
bWVudC4KKworICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzQ2hyb21pdW06Om1ha2VPcGFxdWUpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0Nocm9taXVtOjptYWtlVHJhbnNwYXJlbnQp
OgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNDaHJvbWl1bS5oOgorICAgICAg
ICAoTWVkaWFDb250cm9sc0Nocm9taXVtKToKKyAgICAgICAgQWRkIG92ZXJyaWRlIG1ha2VPcGFx
dWUgYW5kIG1ha2VUcmFuc3BhcmVudCBmdW5jdGlvbnMgZm9yIE1lZGlhQ29udHJvbHNDaHJvbWl1
bS4KKwogMjAxMy0wMi0yMSAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgSW5kZXhlZERCOiBJbXBsZW1lbnQgU2hhcmVkQnVmZmVyIHZlcnNpb24gb2YgcHV0
KCkgLyBvblN1Y2Nlc3MoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9sRWxlbWVudFR5cGVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L01lZGlhQ29udHJvbEVsZW1lbnRUeXBlcy5jcHAKaW5kZXggZjU0Zjg3OWMyZjAwMWQ4ZDc0MWIw
MTk2NTgxNzY1NDU4ZTc4YmQ0Ny4uYmMyMjQ2Y2Q3NjYzN2Y1ZjgxNDg3YjMyMTY2YzQwOTk5N2Nh
YTMzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
RWxlbWVudFR5cGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xFbGVtZW50VHlwZXMuY3BwCkBAIC0zNyw4ICszNywxMCBAQAogI2luY2x1ZGUgIkZsb2F0
Q29udmVyc2lvbi5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIk1vdXNlRXZl
bnQuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyTWVkaWEuaCIKICNpbmNs
dWRlICJSZW5kZXJNZWRpYUNvbnRyb2xFbGVtZW50cy5oIgorI2luY2x1ZGUgIlJlbmRlclRoZW1l
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTM0LDkgKzEzNiw3MiBAQCB2b2lkIE1l
ZGlhQ29udHJvbEVsZW1lbnQ6OnNldERpc3BsYXlUeXBlKE1lZGlhQ29udHJvbEVsZW1lbnRUeXBl
IGRpc3BsYXlUeXBlKQogTWVkaWFDb250cm9sRGl2RWxlbWVudDo6TWVkaWFDb250cm9sRGl2RWxl
bWVudChEb2N1bWVudCogZG9jdW1lbnQsIE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlIGRpc3BsYXlU
eXBlKQogICAgIDogSFRNTERpdkVsZW1lbnQoZGl2VGFnLCBkb2N1bWVudCkKICAgICAsIE1lZGlh
Q29udHJvbEVsZW1lbnQoZGlzcGxheVR5cGUsIHRoaXMpCisgICAgLCBtX29wYXF1ZSh0cnVlKQog
ewogfQogCit2b2lkIE1lZGlhQ29udHJvbERpdkVsZW1lbnQ6Om1ha2VPcGFxdWUoKQoreworICAg
IGlmIChpc09wYXF1ZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBkb3VibGUgZHVyYXRpb24g
PSBkb2N1bWVudCgpLT5wYWdlKCkgPyBkb2N1bWVudCgpLT5wYWdlKCktPnRoZW1lKCktPm1lZGlh
Q29udHJvbHNGYWRlSW5EdXJhdGlvbigpIDogMDsKKworICAgIHNldElubGluZVN0eWxlUHJvcGVy
dHkoQ1NTUHJvcGVydHlXZWJraXRUcmFuc2l0aW9uUHJvcGVydHksIENTU1Byb3BlcnR5T3BhY2l0
eSk7CisgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdFRyYW5zaXRp
b25EdXJhdGlvbiwgZHVyYXRpb24sIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7CisgICAgc2V0
SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU9wYWNpdHksIDEuMCwgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19OVU1CRVIpOworCisgICAgc2V0T3BhcXVlKHRydWUpOworICAgIHNob3coKTsK
K30KKwordm9pZCBNZWRpYUNvbnRyb2xEaXZFbGVtZW50OjptYWtlVHJhbnNwYXJlbnQoKQorewor
ICAgIGlmICghaXNPcGFxdWUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZG91YmxlIGR1cmF0
aW9uID0gZG9jdW1lbnQoKS0+cGFnZSgpID8gZG9jdW1lbnQoKS0+cGFnZSgpLT50aGVtZSgpLT5t
ZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOworCisgICAgc2V0SW5saW5lU3R5bGVQ
cm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdFRyYW5zaXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlP
cGFjaXR5KTsKKyAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0VHJh
bnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKKyAg
ICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5T3BhY2l0eSwgMC4wLCBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7CisKKyAgICBzZXRPcGFxdWUoZmFsc2UpOworICAgIHN0
YXJ0VGltZXIoKTsKK30KKwordm9pZCBNZWRpYUNvbnRyb2xEaXZFbGVtZW50OjpzdGFydFRpbWVy
KCkKK3sKKyAgICBpZiAoIW1fdHJhbnNpdGlvblRpbWVyKQorICAgICAgICBtX3RyYW5zaXRpb25U
aW1lciA9IGFkb3B0UHRyKG5ldyBUaW1lcjxNZWRpYUNvbnRyb2xEaXZFbGVtZW50Pih0aGlzLCAm
TWVkaWFDb250cm9sRGl2RWxlbWVudDo6dHJhbnNpdGlvblRpbWVyRmlyZWQpKTsKKworICAgIC8v
IFRoZSB0aW1lciBpcyByZXF1aXJlZCB0byBzZXQgdGhlIHByb3BlcnR5IGRpc3BsYXk6J25vbmUn
IG9uIHRoZSBwYW5lbCwKKyAgICAvLyBzdWNoIHRoYXQgY2FwdGlvbnMgYXJlIGNvcnJlY3RseSBk
aXNwbGF5ZWQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgdmlkZW8KKyAgICAvLyBhdCB0aGUgZW5kIG9m
IHRoZSBmYWRlb3V0IHRyYW5zaXRpb24uCisgICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQo
KS0+cGFnZSgpID8gZG9jdW1lbnQoKS0+cGFnZSgpLT50aGVtZSgpLT5tZWRpYUNvbnRyb2xzRmFk
ZU91dER1cmF0aW9uKCkgOiAwOworICAgIG1fdHJhbnNpdGlvblRpbWVyLT5zdGFydE9uZVNob3Qo
ZHVyYXRpb24pOworfQorCit2b2lkIE1lZGlhQ29udHJvbERpdkVsZW1lbnQ6OnN0b3BUaW1lcigp
Cit7CisgICAgaWYgKG1fdHJhbnNpdGlvblRpbWVyICYmIG1fdHJhbnNpdGlvblRpbWVyLT5pc0Fj
dGl2ZSgpKQorICAgICAgICBtX3RyYW5zaXRpb25UaW1lci0+c3RvcCgpOworICAgIG1fdHJhbnNp
dGlvblRpbWVyLmNsZWFyKCk7Cit9CisKK3ZvaWQgTWVkaWFDb250cm9sRGl2RWxlbWVudDo6dHJh
bnNpdGlvblRpbWVyRmlyZWQoVGltZXI8TWVkaWFDb250cm9sRGl2RWxlbWVudD4qKQoreworICAg
IGlmICghaXNPcGFxdWUoKSkKKyAgICAgICAgaGlkZSgpOworCisgICAgc3RvcFRpbWVyKCk7Cit9
CisKK3ZvaWQgTWVkaWFDb250cm9sRGl2RWxlbWVudDo6c2V0T3BhcXVlKGJvb2wgaXNPcGFxdWUp
Cit7CisgICAgbV9vcGFxdWUgPSBpc09wYXF1ZTsKK30KKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQogCiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQ6Ok1lZGlhQ29udHJvbElucHV0
RWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlIGRpc3Bs
YXlUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sRWxlbWVudFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xFbGVtZW50VHlwZXMuaAppbmRleCA5MWIwYzhhMzUxZWEwMmJiNjFkM2Y1NzAxYTZkNDczODgw
NWZhNjQzLi4zNDg0MDA2ZGY1MjExNTBiMmRiYjlhZWZiMjcwMGIzZDFjN2RhNDUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50VHlwZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50VHlw
ZXMuaApAQCAtMTE0LDkgKzExNCwyMyBAQCBwcml2YXRlOgogLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQogCiBjbGFzcyBNZWRpYUNvbnRyb2xEaXZFbGVtZW50IDogcHVibGljIEhUTUxE
aXZFbGVtZW50LCBwdWJsaWMgTWVkaWFDb250cm9sRWxlbWVudCB7CitwdWJsaWM6CisgICAgdmly
dHVhbCB2b2lkIG1ha2VPcGFxdWUoKTsKKyAgICB2aXJ0dWFsIHZvaWQgbWFrZVRyYW5zcGFyZW50
KCk7CisgICAgdm9pZCBzZXRPcGFxdWUoYm9vbCk7CisgICAgYm9vbCBpc09wYXF1ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fb3BhcXVlOyB9CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGJvb2wgaXNN
ZWRpYUNvbnRyb2xFbGVtZW50KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gTWVkaWFDb250cm9s
RWxlbWVudDo6aXNNZWRpYUNvbnRyb2xFbGVtZW50KCk7IH0KICAgICBleHBsaWNpdCBNZWRpYUNv
bnRyb2xEaXZFbGVtZW50KERvY3VtZW50KiwgTWVkaWFDb250cm9sRWxlbWVudFR5cGUpOworCitw
cml2YXRlOgorICAgIHZvaWQgc3RhcnRUaW1lcigpOworICAgIHZvaWQgc3RvcFRpbWVyKCk7Cisg
ICAgdm9pZCB0cmFuc2l0aW9uVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xEaXZFbGVtZW50
PiopOworCisgICAgYm9vbCBtX29wYXF1ZTsKKyAgICBPd25QdHI8VGltZXI8TWVkaWFDb250cm9s
RGl2RWxlbWVudD4gPiBtX3RyYW5zaXRpb25UaW1lcjsKIH07CiAKIC8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlh
Q29udHJvbEVsZW1lbnRzLmNwcAppbmRleCA0YmIyN2IxZjIwYzE2YmFiMGQ3MTE1NzZmZjdlN2Rj
OTM2MDM1ZTFhLi5iOGQ3ODQ5OGUyYWEyMGRmYzI1Zjg1OTRkMjBhYTJiZGMzM2JjMDJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMu
Y3BwCkBAIC03MSw5ICs3MSw2IEBAIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6TWVkaWFDb250
cm9sUGFuZWxFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IE1lZGlhQ29udHJvbERp
dkVsZW1lbnQoZG9jdW1lbnQsIE1lZGlhQ29udHJvbHNQYW5lbCkKICAgICAsIG1fY2FuQmVEcmFn
Z2VkKGZhbHNlKQogICAgICwgbV9pc0JlaW5nRHJhZ2dlZChmYWxzZSkKLSAgICAsIG1faXNEaXNw
bGF5ZWQoZmFsc2UpCi0gICAgLCBtX29wYXF1ZSh0cnVlKQotICAgICwgbV90cmFuc2l0aW9uVGlt
ZXIodGhpcywgJk1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6dHJhbnNpdGlvblRpbWVyRmlyZWQp
CiB7CiB9CiAKQEAgLTEzNiwzMSArMTMzLDYgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVsZW1l
bnQ6OmVuZERyYWcoKQogICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2V0Q2FwdHVyaW5nTW91
c2VFdmVudHNOb2RlKDApOwogfQogCi12b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3Rh
cnRUaW1lcigpCi17Ci0gICAgc3RvcFRpbWVyKCk7Ci0KLSAgICAvLyBUaGUgdGltZXIgaXMgcmVx
dWlyZWQgdG8gc2V0IHRoZSBwcm9wZXJ0eSBkaXNwbGF5Oidub25lJyBvbiB0aGUgcGFuZWwsCi0g
ICAgLy8gc3VjaCB0aGF0IGNhcHRpb25zIGFyZSBjb3JyZWN0bHkgZGlzcGxheWVkIGF0IHRoZSBi
b3R0b20gb2YgdGhlIHZpZGVvCi0gICAgLy8gYXQgdGhlIGVuZCBvZiB0aGUgZmFkZW91dCB0cmFu
c2l0aW9uLgotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCktPnBhZ2UoKSA/IGRvY3Vt
ZW50KCktPnBhZ2UoKS0+dGhlbWUoKS0+bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDog
MDsKLSAgICBtX3RyYW5zaXRpb25UaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24pOwotfQotCi12
b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RvcFRpbWVyKCkKLXsKLSAgICBpZiAobV90
cmFuc2l0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90cmFuc2l0aW9uVGltZXIuc3Rv
cCgpOwotfQotCi12b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6dHJhbnNpdGlvblRpbWVy
RmlyZWQoVGltZXI8TWVkaWFDb250cm9sUGFuZWxFbGVtZW50PiopCi17Ci0gICAgaWYgKCFtX29w
YXF1ZSkKLSAgICAgICAgaGlkZSgpOwotCi0gICAgc3RvcFRpbWVyKCk7Ci19Ci0KIHZvaWQgTWVk
aWFDb250cm9sUGFuZWxFbGVtZW50OjpzZXRQb3NpdGlvbihjb25zdCBMYXlvdXRQb2ludCYgcG9z
aXRpb24pCiB7CiAgICAgZG91YmxlIGxlZnQgPSBwb3NpdGlvbi54KCk7CkBAIC0xODksMzggKzE2
MSw2IEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjpyZXNldFBvc2l0aW9uKCkKICAg
ICBtX2N1bXVsYXRpdmVEcmFnT2Zmc2V0LnNldFkoMCk7CiB9CiAKLXZvaWQgTWVkaWFDb250cm9s
UGFuZWxFbGVtZW50OjptYWtlT3BhcXVlKCkKLXsKLSAgICBpZiAobV9vcGFxdWUpCi0gICAgICAg
IHJldHVybjsKLQotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCktPnBhZ2UoKSA/IGRv
Y3VtZW50KCktPnBhZ2UoKS0+dGhlbWUoKS0+bWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0aW9uKCkg
OiAwOwotCi0gICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdFRyYW5z
aXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAgICBzZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5V2Via2l0VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwgQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKLSAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1By
b3BlcnR5T3BhY2l0eSwgMS4wLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7Ci0KLSAg
ICBtX29wYXF1ZSA9IHRydWU7Ci0KLSAgICBpZiAobV9pc0Rpc3BsYXllZCkKLSAgICAgICAgc2hv
dygpOwotfQotCi12b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6bWFrZVRyYW5zcGFyZW50
KCkKLXsKLSAgICBpZiAoIW1fb3BhcXVlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBkb3VibGUg
ZHVyYXRpb24gPSBkb2N1bWVudCgpLT5wYWdlKCkgPyBkb2N1bWVudCgpLT5wYWdlKCktPnRoZW1l
KCktPm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IDA7Ci0KLSAgICBzZXRJbmxpbmVT
dHlsZVByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0VHJhbnNpdGlvblByb3BlcnR5LCBDU1NQcm9w
ZXJ0eU9wYWNpdHkpOwotICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJr
aXRUcmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1Mp
OwotICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlPcGFjaXR5LCAwLjAsIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKLQotICAgIG1fb3BhcXVlID0gZmFsc2U7Ci0g
ICAgc3RhcnRUaW1lcigpOwotfQotCiB2b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6ZGVm
YXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiB7CiAgICAgTWVkaWFDb250cm9sRGl2RWxl
bWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7CkBAIC0yNTEsMTEgKzE5MSw2IEBAIHZv
aWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjpzZXRDYW5CZURyYWdnZWQoYm9vbCBjYW5CZURy
YWdnZWQpCiAgICAgICAgIGVuZERyYWcoKTsKIH0KIAotdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVs
ZW1lbnQ6OnNldElzRGlzcGxheWVkKGJvb2wgaXNEaXNwbGF5ZWQpCi17Ci0gICAgbV9pc0Rpc3Bs
YXllZCA9IGlzRGlzcGxheWVkOwotfQotCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiAKIE1lZGlhQ29udHJvbFBhbmVsRW5jbG9zdXJlRWxlbWVudDo6TWVkaWFDb250cm9sUGFuZWxF
bmNsb3N1cmVFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCmluZGV4IGQxY2QwMjhiNmY5NDhj
ZmZkYjY5MDBlOGRhYzhjYTAzNGRjYjk4OWYuLjJjMTI0YzZhNGI2NjRkNTdhZWExYjVmNDU1NWFj
NTMwMWNjYjgzNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlh
Q29udHJvbEVsZW1lbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sRWxlbWVudHMuaApAQCAtNDMsMTEgKzQzLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudD4gY3JlYXRlKERvY3VtZW50Kik7CiAK
ICAgICB2b2lkIHNldENhbkJlRHJhZ2dlZChib29sKTsKLSAgICB2b2lkIHNldElzRGlzcGxheWVk
KGJvb2wpOwogCiAgICAgdm9pZCByZXNldFBvc2l0aW9uKCk7Ci0gICAgdm9pZCBtYWtlT3BhcXVl
KCk7Ci0gICAgdm9pZCBtYWtlVHJhbnNwYXJlbnQoKTsKIAogICAgIHZpcnR1YWwgYm9vbCB3aWxs
UmVzcG9uZFRvTW91c2VNb3ZlRXZlbnRzKCkgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogICAg
IHZpcnR1YWwgYm9vbCB3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpIE9WRVJSSURFIHsg
cmV0dXJuIHRydWU7IH0KQEAgLTYyLDIwICs1OSwxMiBAQCBwcml2YXRlOgogICAgIHZvaWQgY29u
dGludWVEcmFnKGNvbnN0IExheW91dFBvaW50JiBldmVudExvY2F0aW9uKTsKICAgICB2b2lkIGVu
ZERyYWcoKTsKIAotICAgIHZvaWQgc3RhcnRUaW1lcigpOwotICAgIHZvaWQgc3RvcFRpbWVyKCk7
Ci0gICAgdm9pZCB0cmFuc2l0aW9uVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xQYW5lbEVs
ZW1lbnQ+Kik7Ci0KICAgICB2b2lkIHNldFBvc2l0aW9uKGNvbnN0IExheW91dFBvaW50Jik7CiAK
ICAgICBib29sIG1fY2FuQmVEcmFnZ2VkOwogICAgIGJvb2wgbV9pc0JlaW5nRHJhZ2dlZDsKLSAg
ICBib29sIG1faXNEaXNwbGF5ZWQ7Ci0gICAgYm9vbCBtX29wYXF1ZTsKICAgICBMYXlvdXRQb2lu
dCBtX2xhc3REcmFnRXZlbnRMb2NhdGlvbjsKICAgICBMYXlvdXRQb2ludCBtX2N1bXVsYXRpdmVE
cmFnT2Zmc2V0OwotCi0gICAgVGltZXI8TWVkaWFDb250cm9sUGFuZWxFbGVtZW50PiBtX3RyYW5z
aXRpb25UaW1lcjsKIH07CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHAKaW5kZXggMzgxNGRlZDE2
YjBmMDE0N2QyYzNkY2MzYzZhN2Q2ODg4ODhmN2JlYy4uNGFjYmE0MzhjYzFlN2Y3NjQ2ODk5MmFi
Yjk2NTAwMzVkYzAzMmZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9scy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9scy5jcHAKQEAgLTE0OSwxMyArMTQ5LDEyIEBAIHZvaWQgTWVkaWFDb250cm9sczo6bG9h
ZGVkTWV0YWRhdGEoKQogdm9pZCBNZWRpYUNvbnRyb2xzOjpzaG93KCkKIHsKICAgICBtYWtlT3Bh
cXVlKCk7Ci0gICAgbV9wYW5lbC0+c2V0SXNEaXNwbGF5ZWQodHJ1ZSk7CiAgICAgbV9wYW5lbC0+
c2hvdygpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbHM6OmhpZGUoKQogewotICAgIG1fcGFuZWwt
PnNldElzRGlzcGxheWVkKGZhbHNlKTsKKyAgICBtX3BhbmVsLT5zZXRPcGFxdWUoZmFsc2UpOwog
ICAgIG1fcGFuZWwtPmhpZGUoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvTWVkaWFDb250cm9sc0JsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvTWVkaWFDb250cm9sc0JsYWNrQmVycnkuY3BwCmluZGV4IGZlNzE1ODM2YzA5MDc4
MWYxMjJhNTNkNzI2NzQ1NDZkODAzNmM3OWIuLjVlMjA5NmU0MzkyNzc5MTg0NGVjMDk2YTVlNDUz
NDVmNTExN2MzMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlh
Q29udHJvbHNCbGFja0JlcnJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9N
ZWRpYUNvbnRyb2xzQmxhY2tCZXJyeS5jcHAKQEAgLTk2LDkgKzk2LDYgQEAgTWVkaWFDb250cm9s
RW1iZWRkZWRQYW5lbEVsZW1lbnQ6Ok1lZGlhQ29udHJvbEVtYmVkZGVkUGFuZWxFbGVtZW50KERv
Y3VtZW50KiBkb2MKICAgICA6IE1lZGlhQ29udHJvbERpdkVsZW1lbnQoZG9jdW1lbnQsIE1lZGlh
Q29udHJvbHNQYW5lbCkKICAgICAsIG1fY2FuQmVEcmFnZ2VkKGZhbHNlKQogICAgICwgbV9pc0Jl
aW5nRHJhZ2dlZChmYWxzZSkKLSAgICAsIG1faXNEaXNwbGF5ZWQoZmFsc2UpCi0gICAgLCBtX29w
YXF1ZSh0cnVlKQotICAgICwgbV90cmFuc2l0aW9uVGltZXIodGhpcywgJk1lZGlhQ29udHJvbEVt
YmVkZGVkUGFuZWxFbGVtZW50Ojp0cmFuc2l0aW9uVGltZXJGaXJlZCkKIHsKIH0KIApAQCAtMTYx
LDMxICsxNTgsNiBAQCB2b2lkIE1lZGlhQ29udHJvbEVtYmVkZGVkUGFuZWxFbGVtZW50OjplbmRE
cmFnKCkKICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnNldENhcHR1cmluZ01vdXNlRXZlbnRz
Tm9kZSgwKTsKIH0KIAotdm9pZCBNZWRpYUNvbnRyb2xFbWJlZGRlZFBhbmVsRWxlbWVudDo6c3Rh
cnRUaW1lcigpCi17Ci0gICAgc3RvcFRpbWVyKCk7Ci0KLSAgICAvLyBUaGUgdGltZXIgaXMgcmVx
dWlyZWQgdG8gc2V0IHRoZSBwcm9wZXJ0eSBkaXNwbGF5Oidub25lJyBvbiB0aGUgcGFuZWwsCi0g
ICAgLy8gc3VjaCB0aGF0IGNhcHRpb25zIGFyZSBjb3JyZWN0bHkgZGlzcGxheWVkIGF0IHRoZSBi
b3R0b20gb2YgdGhlIHZpZGVvCi0gICAgLy8gYXQgdGhlIGVuZCBvZiB0aGUgZmFkZW91dCB0cmFu
c2l0aW9uLgotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCktPnBhZ2UoKSA/IGRvY3Vt
ZW50KCktPnBhZ2UoKS0+dGhlbWUoKS0+bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDog
MDsKLSAgICBtX3RyYW5zaXRpb25UaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24pOwotfQotCi12
b2lkIE1lZGlhQ29udHJvbEVtYmVkZGVkUGFuZWxFbGVtZW50OjpzdG9wVGltZXIoKQotewotICAg
IGlmIChtX3RyYW5zaXRpb25UaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RyYW5zaXRpb25U
aW1lci5zdG9wKCk7Ci19Ci0KLXZvaWQgTWVkaWFDb250cm9sRW1iZWRkZWRQYW5lbEVsZW1lbnQ6
OnRyYW5zaXRpb25UaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbEVtYmVkZGVkUGFuZWxFbGVt
ZW50PiopCi17Ci0gICAgaWYgKCFtX29wYXF1ZSkKLSAgICAgICAgaGlkZSgpOwotCi0gICAgc3Rv
cFRpbWVyKCk7Ci19Ci0KIHZvaWQgTWVkaWFDb250cm9sRW1iZWRkZWRQYW5lbEVsZW1lbnQ6OnNl
dFBvc2l0aW9uKGNvbnN0IExheW91dFBvaW50JiBwb3NpdGlvbikKIHsKICAgICBkb3VibGUgbGVm
dCA9IHBvc2l0aW9uLngoKTsKQEAgLTIxNCwzOCArMTg2LDYgQEAgdm9pZCBNZWRpYUNvbnRyb2xF
bWJlZGRlZFBhbmVsRWxlbWVudDo6cmVzZXRQb3NpdGlvbigpCiAgICAgbV9jdW11bGF0aXZlRHJh
Z09mZnNldC5zZXRZKDApOwogfQogCi12b2lkIE1lZGlhQ29udHJvbEVtYmVkZGVkUGFuZWxFbGVt
ZW50OjptYWtlT3BhcXVlKCkKLXsKLSAgICBpZiAobV9vcGFxdWUpCi0gICAgICAgIHJldHVybjsK
LQotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCktPnBhZ2UoKSA/IGRvY3VtZW50KCkt
PnBhZ2UoKS0+dGhlbWUoKS0+bWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0aW9uKCkgOiAwOwotCi0g
ICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdFRyYW5zaXRpb25Qcm9w
ZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENT
U1Byb3BlcnR5V2Via2l0VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19TKTsKLSAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5T3Bh
Y2l0eSwgMS4wLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7Ci0KLSAgICBtX29wYXF1
ZSA9IHRydWU7Ci0KLSAgICBpZiAobV9pc0Rpc3BsYXllZCkKLSAgICAgICAgc2hvdygpOwotfQot
Ci12b2lkIE1lZGlhQ29udHJvbEVtYmVkZGVkUGFuZWxFbGVtZW50OjptYWtlVHJhbnNwYXJlbnQo
KQotewotICAgIGlmICghbV9vcGFxdWUpCi0gICAgICAgIHJldHVybjsKLQotICAgIGRvdWJsZSBk
dXJhdGlvbiA9IGRvY3VtZW50KCktPnBhZ2UoKSA/IGRvY3VtZW50KCktPnBhZ2UoKS0+dGhlbWUo
KS0+bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMDsKLQotICAgIHNldElubGluZVN0
eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRUcmFuc2l0aW9uUHJvcGVydHksIENTU1Byb3Bl
cnR5T3BhY2l0eSk7Ci0gICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtp
dFRyYW5zaXRpb25EdXJhdGlvbiwgZHVyYXRpb24sIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7
Ci0gICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU9wYWNpdHksIDAuMCwgQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOwotCi0gICAgbV9vcGFxdWUgPSBmYWxzZTsKLSAg
ICBzdGFydFRpbWVyKCk7Ci19Ci0KIHZvaWQgTWVkaWFDb250cm9sRW1iZWRkZWRQYW5lbEVsZW1l
bnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogewogICAgIE1lZGlhQ29udHJv
bERpdkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoZXZlbnQpOwpAQCAtMjc2LDExICsyMTYs
NiBAQCB2b2lkIE1lZGlhQ29udHJvbEVtYmVkZGVkUGFuZWxFbGVtZW50OjpzZXRDYW5CZURyYWdn
ZWQoYm9vbCBjYW5CZURyYWdnZWQpCiAgICAgICAgIGVuZERyYWcoKTsKIH0KIAotdm9pZCBNZWRp
YUNvbnRyb2xFbWJlZGRlZFBhbmVsRWxlbWVudDo6c2V0SXNEaXNwbGF5ZWQoYm9vbCBpc0Rpc3Bs
YXllZCkKLXsKLSAgICBtX2lzRGlzcGxheWVkID0gaXNEaXNwbGF5ZWQ7Ci19Ci0KIGlubGluZSBN
ZWRpYUNvbnRyb2xGdWxsc2NyZWVuVGltZURpc3BsYXlDb250YWluZXJFbGVtZW50OjpNZWRpYUNv
bnRyb2xGdWxsc2NyZWVuVGltZURpc3BsYXlDb250YWluZXJFbGVtZW50KERvY3VtZW50KiBkb2N1
bWVudCkKICAgICA6IE1lZGlhQ29udHJvbERpdkVsZW1lbnQoZG9jdW1lbnQsIE1lZGlhQ29udHJv
bHNQYW5lbCkKIHsKQEAgLTg1MywxMCArNzg4LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sc0JsYWNr
QmVycnk6OnNldE1lZGlhQ29udHJvbGxlcihNZWRpYUNvbnRyb2xsZXJJbnRlcmZhY2UqIGNvbnRy
CiB2b2lkIE1lZGlhQ29udHJvbHNCbGFja0JlcnJ5OjpzaG93KCkKIHsKICAgICBpZiAobV9pc0Z1
bGxzY3JlZW4pIHsKLSAgICAgICAgbV9wYW5lbC0+c2V0SXNEaXNwbGF5ZWQodHJ1ZSk7CisgICAg
ICAgIG1fcGFuZWwtPnNldE9wYXF1ZSh0cnVlKTsKICAgICAgICAgbV9wYW5lbC0+c2hvdygpOwog
ICAgIH0gZWxzZSB7Ci0gICAgICAgIG1fZW1iZWRkZWRQYW5lbC0+c2V0SXNEaXNwbGF5ZWQodHJ1
ZSk7CisgICAgICAgIG1fZW1iZWRkZWRQYW5lbC0+c2V0T3BhcXVlKHRydWUpOwogICAgICAgICBt
X2VtYmVkZGVkUGFuZWwtPnNob3coKTsKICAgICB9CiB9CkBAIC04NjQsMTAgKzc5OSwxMCBAQCB2
b2lkIE1lZGlhQ29udHJvbHNCbGFja0JlcnJ5OjpzaG93KCkKIHZvaWQgTWVkaWFDb250cm9sc0Js
YWNrQmVycnk6OmhpZGUoKQogewogICAgIGlmIChtX2lzRnVsbHNjcmVlbikgewotICAgICAgICBt
X3BhbmVsLT5zZXRJc0Rpc3BsYXllZChmYWxzZSk7CisgICAgICAgIG1fcGFuZWwtPnNldE9wYXF1
ZShmYWxzZSk7CiAgICAgICAgIG1fcGFuZWwtPmhpZGUoKTsKICAgICB9IGVsc2UgewotICAgICAg
ICBtX2VtYmVkZGVkUGFuZWwtPnNldElzRGlzcGxheWVkKGZhbHNlKTsKKyAgICAgICAgbV9lbWJl
ZGRlZFBhbmVsLT5zZXRPcGFxdWUoZmFsc2UpOwogICAgICAgICBtX2VtYmVkZGVkUGFuZWwtPmhp
ZGUoKTsKICAgICAgICAgbV92b2x1bWVTbGlkZXJDb250YWluZXItPmhpZGUoKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzQmxhY2tC
ZXJyeS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0JsYWNrQmVy
cnkuaAppbmRleCBlNDFmYTY5MWRiZmFhMDUyNmYxZDBiNjMxNzk2NzRmMTgxN2RhNWYzLi40NWNl
YmQ2YzA2N2RmZWUyNzRlNDczMzlmNWY0MzdmMDdlMWZiOTZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzQmxhY2tCZXJyeS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNCbGFja0JlcnJ5LmgKQEAgLTczLDEx
ICs3Myw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xFbWJl
ZGRlZFBhbmVsRWxlbWVudD4gY3JlYXRlKERvY3VtZW50Kik7CiAKICAgICB2b2lkIHNldENhbkJl
RHJhZ2dlZChib29sKTsKLSAgICB2b2lkIHNldElzRGlzcGxheWVkKGJvb2wpOwotCiAgICAgdm9p
ZCByZXNldFBvc2l0aW9uKCk7Ci0gICAgdm9pZCBtYWtlT3BhcXVlKCk7Ci0gICAgdm9pZCBtYWtl
VHJhbnNwYXJlbnQoKTsKIAogICAgIHZpcnR1YWwgYm9vbCB3aWxsUmVzcG9uZFRvTW91c2VNb3Zl
RXZlbnRzKCkgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCB3aWxs
UmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpIE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KQEAg
LTkyLDIwICs4OCwxMiBAQCBwcml2YXRlOgogICAgIHZvaWQgY29udGludWVEcmFnKGNvbnN0IExh
eW91dFBvaW50JiBldmVudExvY2F0aW9uKTsKICAgICB2b2lkIGVuZERyYWcoKTsKIAotICAgIHZv
aWQgc3RhcnRUaW1lcigpOwotICAgIHZvaWQgc3RvcFRpbWVyKCk7Ci0gICAgdm9pZCB0cmFuc2l0
aW9uVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xFbWJlZGRlZFBhbmVsRWxlbWVudD4qKTsK
LQogICAgIHZvaWQgc2V0UG9zaXRpb24oY29uc3QgTGF5b3V0UG9pbnQmKTsKIAogICAgIGJvb2wg
bV9jYW5CZURyYWdnZWQ7CiAgICAgYm9vbCBtX2lzQmVpbmdEcmFnZ2VkOwotICAgIGJvb2wgbV9p
c0Rpc3BsYXllZDsKLSAgICBib29sIG1fb3BhcXVlOwogICAgIExheW91dFBvaW50IG1fbGFzdERy
YWdFdmVudExvY2F0aW9uOwogICAgIExheW91dFBvaW50IG1fY3VtdWxhdGl2ZURyYWdPZmZzZXQ7
Ci0KLSAgICBUaW1lcjxNZWRpYUNvbnRyb2xFbWJlZGRlZFBhbmVsRWxlbWVudD4gbV90cmFuc2l0
aW9uVGltZXI7CiB9OwogCiBjbGFzcyBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuVGltZURpc3BsYXlD
b250YWluZXJFbGVtZW50IDogcHVibGljIE1lZGlhQ29udHJvbERpdkVsZW1lbnQgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0Nocm9taXVtLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAK
aW5kZXggNDY0MWI5ZDVkZWE2Yzk1ZTk3MDEyM2ZmNzE2Y2QyMmZlYzEzYWU5Yi4uYWQ1MmVkZTY5
MWUxNjgzNmZlZTM3OTA0OTMzMzY3OGUwNWNjMDViMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3BwCkBAIC0xNTAsNiArMTUw
LDE4IEBAIHZvaWQgTWVkaWFDb250cm9sc0Nocm9taXVtOjpzZXRNZWRpYUNvbnRyb2xsZXIoTWVk
aWFDb250cm9sbGVySW50ZXJmYWNlKiBjb250cm9sCiAgICAgICAgIG1fZW5jbG9zdXJlLT5zZXRN
ZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7CiB9CiAKK3ZvaWQgTWVkaWFDb250cm9sc0Nocm9t
aXVtOjptYWtlT3BhcXVlKCkKK3sKKyAgICBtX3BhbmVsLT5tYWtlT3BhcXVlKCk7CisgICAgbV9l
bmNsb3N1cmUtPm1ha2VPcGFxdWUoKTsKK30KKwordm9pZCBNZWRpYUNvbnRyb2xzQ2hyb21pdW06
Om1ha2VUcmFuc3BhcmVudCgpCit7CisgICAgbV9wYW5lbC0+bWFrZVRyYW5zcGFyZW50KCk7Cisg
ICAgbV9lbmNsb3N1cmUtPm1ha2VUcmFuc3BhcmVudCgpOworfQorCiB2b2lkIE1lZGlhQ29udHJv
bHNDaHJvbWl1bTo6cmVzZXQoKQogewogICAgIFBhZ2UqIHBhZ2UgPSBkb2N1bWVudCgpLT5wYWdl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xz
Q2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNDaHJv
bWl1bS5oCmluZGV4IDVjMTA3MDgyMDczOWMyNjhlMDJlZTA3NDUzMjE3YWRmZDRjYWFlMzcuLjU5
OGRlN2Q3NDFkMDFhMjBhMjg2M2RmOGY0YTY4MzJlNTc2MzIwZmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNDaHJvbWl1bS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNDaHJvbWl1bS5oCkBAIC00MCw2ICs0
MCw5IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRNZWRpYUNvbnRyb2xsZXIoTWVk
aWFDb250cm9sbGVySW50ZXJmYWNlKikgT1ZFUlJJREU7CiAKKyAgICB2aXJ0dWFsIHZvaWQgbWFr
ZU9wYXF1ZSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBtYWtlVHJhbnNwYXJlbnQoKSBP
VkVSUklERTsKKwogICAgIHZpcnR1YWwgdm9pZCByZXNldCgpIE9WRVJSSURFOwogCiAgICAgdmly
dHVhbCB2b2lkIHBsYXliYWNrU3RhcnRlZCgpIE9WRVJSSURFOwo=
</data>
<flag name="review"
          id="210211"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
    <flag name="commit-queue"
          id="210224"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>