<?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>88555</bug_id>
          
          <creation_ts>2012-06-07 11:04:19 -0700</creation_ts>
          <short_desc>MediaController.currentTime should be kept stable during script execution.</short_desc>
          <delta_ts>2012-07-23 14:40:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>643699</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-06-07 11:04:19 -0700</bug_when>
    <thetext>MediaController.currentTime should be kept stable during script execution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643709</commentid>
    <comment_count>1</comment_count>
      <attachid>146332</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-06-07 11:12:56 -0700</bug_when>
    <thetext>Created attachment 146332
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643711</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-06-07 11:16:52 -0700</bug_when>
    <thetext>&lt;rdar://problem/11616954&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643719</commentid>
    <comment_count>3</comment_count>
      <attachid>146332</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-06-07 11:20:04 -0700</bug_when>
    <thetext>Comment on attachment 146332
Patch

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

&gt; Source/WebCore/html/MediaController.cpp:50
&gt; +    , m_position(-1)

To me, -1 does not seem like a great floating point value to mean &quot;not set&quot;. I’d suggest a named constant or a separate boolean. I suppose the named constant could have the value -1. Although I would probably chose something else, like NaN.

&gt; Source/WebCore/html/MediaController.h:152
&gt; +    mutable Timer&lt;MediaController&gt; m_clearPositionTimer;

Having our own unique zero-duration timer seems a bit unpleasant. Is there any other good solution? Maybe there is a WebKit-wide concept of “exiting from script” that could work. I seem to recall some Chromium engineers proposing or perhaps even implementing something like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643734</commentid>
    <comment_count>4</comment_count>
      <attachid>146332</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-06-07 11:37:37 -0700</bug_when>
    <thetext>Comment on attachment 146332
Patch

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

&gt;&gt; Source/WebCore/html/MediaController.cpp:50
&gt;&gt; +    , m_position(-1)
&gt; 
&gt; To me, -1 does not seem like a great floating point value to mean &quot;not set&quot;. I’d suggest a named constant or a separate boolean. I suppose the named constant could have the value -1. Although I would probably chose something else, like NaN.

I agree, and I have a future patch which will add a new enum called InvalidMediaTime.  We already use a &quot;static const float invalidMediaTime = -1;&quot; in HTMLMediaElement for this purpose.  We just need to promote it to a header somewhere.

&gt;&gt; Source/WebCore/html/MediaController.h:152
&gt;&gt; +    mutable Timer&lt;MediaController&gt; m_clearPositionTimer;
&gt; 
&gt; Having our own unique zero-duration timer seems a bit unpleasant. Is there any other good solution? Maybe there is a WebKit-wide concept of “exiting from script” that could work. I seem to recall some Chromium engineers proposing or perhaps even implementing something like that.

:-D

I&apos;ve got an upcoming patch that does that too.  I actually thought the reverse, however.  That seemed a bit heavy-handed for something that could be solved with a zero-duration timer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643908</commentid>
    <comment_count>5</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-06-07 14:24:25 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 146332 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=146332&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/html/MediaController.cpp:50
&gt; &gt;&gt; +    , m_position(-1)
&gt; &gt; 
&gt; &gt; To me, -1 does not seem like a great floating point value to mean &quot;not set&quot;. I’d suggest a named constant or a separate boolean. I suppose the named constant could have the value -1. Although I would probably chose something else, like NaN.
&gt; 
&gt; I agree, and I have a future patch which will add a new enum called InvalidMediaTime.  We already use a &quot;static const float invalidMediaTime = -1;&quot; in HTMLMediaElement for this purpose.  We just need to promote it to a header somewhere.

And here is that patch: https://bugs.webkit.org/show_bug.cgi?id=88572</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648135</commentid>
    <comment_count>6</comment_count>
      <attachid>146332</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-06-13 09:32:46 -0700</bug_when>
    <thetext>Comment on attachment 146332
Patch

r=me if you update to use MediaPlayer::invalidTime()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676018</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-23 14:40:23 -0700</bug_when>
    <thetext>Committed r123386: &lt;http://trac.webkit.org/changeset/123386&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146332</attachid>
            <date>2012-06-07 11:12:56 -0700</date>
            <delta_ts>2012-06-13 09:32:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88555-20120607111256.patch</filename>
            <type>text/plain</type>
            <size>7859</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQ2NjMyODhjMGNlYjk2
NTE2YTJhM2M2MTliMTNjNmJhYTM4YjIxYS4uNTI2YTVmZDYyYzUxN2NmNTA1ODhlZjFmOTMxZTQ1
Nzg1MzlhZGYzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDEyLTA2LTA3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIE1lZGlhQ29udHJvbGxlci5j
dXJyZW50VGltZSBzaG91bGQgYmUga2VwdCBzdGFibGUgZHVyaW5nIHNjcmlwdCBleGVjdXRpb24u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODU1NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IG1l
ZGlhL21lZGlhLWNvbnRyb2xsZXItdGltZS1jb25zdGFudC5odG1sCisKKyAgICAgICAgVG8ga2Vl
cCBNZWRpYUNvbnRyb2xsZXIuY3VycmVudFRpbWUgc3RhYmxlLCBhZGQgYSBuZXcgbV9wb3NpdGlv
biB2YXJpYWJsZSBhbmQgCisgICAgICAgIGEgbmV3IG1fY2xlYXJQb3NpdGlvblRpbWVyIHRpbWVy
LiAgQm90aCBtdXN0IGJlIG11dGFibGUgdmFyaWFibGVzIGFzIHRoZXkgd2lsbAorICAgICAgICBi
ZSB1cGRhdGVkIGZyb20gd2l0aGluIGNvbnN0IGZ1bmN0aW9ucy4gIENhbGxzIHRvIGN1cnJlbnRU
aW1lKCkgd2lsbCByZXN1bHQgaW4KKyAgICAgICAgc3RhYmxlIHZhbHVlcyB1bnRpbCB0aGUgbmV4
dCBydW5sb29wIGl0ZXJhdGlvbi4KKworICAgICAgICAqIGh0bWwvTWVkaWFDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6TWVkaWFDb250cm9sbGVyKToKKyAgICAgICAg
KE1lZGlhQ29udHJvbGxlcjo6Y3VycmVudFRpbWUpOgorICAgICAgICAoTWVkaWFDb250cm9sbGVy
OjpzZXRDdXJyZW50VGltZSk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OmNsZWFyUG9zaXRp
b25UaW1lckZpcmVkKToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorCisyMDEy
LTA2LTA3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCiAgICAgICAgIHNvbWV0
aW1lcyBhbGwgc2xhdmVkIHZpZGVvcyBkb24ndCBzdGFydCBwbGF5aW5nCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODU1MwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhQ29udHJvbGxlci5jcHAKaW5kZXggZWQzODNkYWM0OThiYjMyYTI1MzU1ZTM5NDU4
MGFlOTFhODI1ZmFmMi4uMTM4OTczYmI3ODkwNTExN2I3ZDFkMWQwYjQzMWUwYzhlZTFlMThiZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcApAQCAtNDcsMTAgKzQ3LDEy
IEBAIE1lZGlhQ29udHJvbGxlcjo6TWVkaWFDb250cm9sbGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQpCiAgICAgOiBtX3BhdXNlZChmYWxzZSkKICAgICAsIG1fZGVmYXVsdFBsYXli
YWNrUmF0ZSgxKQogICAgICwgbV92b2x1bWUoMSkKKyAgICAsIG1fcG9zaXRpb24oLTEpCiAgICAg
LCBtX211dGVkKGZhbHNlKQogICAgICwgbV9yZWFkeVN0YXRlKEhBVkVfTk9USElORykKICAgICAs
IG1fcGxheWJhY2tTdGF0ZShXQUlUSU5HKQogICAgICwgbV9hc3luY0V2ZW50VGltZXIodGhpcywg
Jk1lZGlhQ29udHJvbGxlcjo6YXN5bmNFdmVudFRpbWVyRmlyZWQpCisgICAgLCBtX2NsZWFyUG9z
aXRpb25UaW1lcih0aGlzLCAmTWVkaWFDb250cm9sbGVyOjpjbGVhclBvc2l0aW9uVGltZXJGaXJl
ZCkKICAgICAsIG1fY2xvc2VkQ2FwdGlvbnNWaXNpYmxlKGZhbHNlKQogICAgICwgbV9jbG9jayhD
bG9jazo6Y3JlYXRlKCkpCiAgICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4dCkK
QEAgLTE0NCw4ICsxNDYsMTMgQEAgZmxvYXQgTWVkaWFDb250cm9sbGVyOjpjdXJyZW50VGltZSgp
IGNvbnN0CiAgICAgaWYgKG1fbWVkaWFFbGVtZW50cy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVy
biAwOwogCi0gICAgLy8gU29tZSBjbG9ja3MgbWF5IHJldHVybiB0aW1lcyBvdXRzaWRlIHRoZSBy
YW5nZSBvZiBbMC4uZHVyYXRpb25dLgotICAgIHJldHVybiBtYXgoMC4wZiwgbWluKGR1cmF0aW9u
KCksIG1fY2xvY2stPmN1cnJlbnRUaW1lKCkpKTsKKyAgICBpZiAobV9wb3NpdGlvbiA9PSAtMSkg
eworICAgICAgICAvLyBTb21lIGNsb2NrcyBtYXkgcmV0dXJuIHRpbWVzIG91dHNpZGUgdGhlIHJh
bmdlIG9mIFswLi5kdXJhdGlvbl0uCisgICAgICAgIG1fcG9zaXRpb24gPSBtYXgoMC4wZiwgbWlu
KGR1cmF0aW9uKCksIG1fY2xvY2stPmN1cnJlbnRUaW1lKCkpKTsKKyAgICAgICAgbV9jbGVhclBv
c2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIH0KKworICAgIHJldHVybiBtX3Bvc2l0
aW9uOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c2V0Q3VycmVudFRpbWUoZmxvYXQgdGlt
ZSwgRXhjZXB0aW9uQ29kZSYgY29kZSkKQEAgLTE2Myw2ICsxNzAsMTEgQEAgdm9pZCBNZWRpYUNv
bnRyb2xsZXI6OnNldEN1cnJlbnRUaW1lKGZsb2F0IHRpbWUsIEV4Y2VwdGlvbkNvZGUmIGNvZGUp
CiAgICAgdGltZSA9IG1pbih0aW1lLCBkdXJhdGlvbigpKTsKICAgICAKICAgICAvLyBTZXQgdGhl
IG1lZGlhIGNvbnRyb2xsZXIgcG9zaXRpb24gdG8gdGhlIG5ldyBwbGF5YmFjayBwb3NpdGlvbi4K
KyAgICBpZiAobV9wb3NpdGlvbiAhPSAtMSkgeworICAgICAgICBtX3Bvc2l0aW9uID0gdGltZTsK
KyAgICAgICAgbV9jbGVhclBvc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIH0KKwog
ICAgIG1fY2xvY2stPnNldEN1cnJlbnRUaW1lKHRpbWUpOwogICAgIAogICAgIC8vIFNlZWsgZWFj
aCBzbGF2ZWQgbWVkaWEgZWxlbWVudCB0byB0aGUgbmV3IHBsYXliYWNrIHBvc2l0aW9uIHJlbGF0
aXZlIHRvIHRoZSBtZWRpYSBlbGVtZW50IHRpbWVsaW5lLgpAQCAtNTE0LDYgKzUyNiwxMSBAQCB2
b2lkIE1lZGlhQ29udHJvbGxlcjo6YXN5bmNFdmVudFRpbWVyRmlyZWQoVGltZXI8TWVkaWFDb250
cm9sbGVyPiopCiAgICAgICAgIGRpc3BhdGNoRXZlbnQocGVuZGluZ0V2ZW50c1tpbmRleF0ucmVs
ZWFzZSgpLCBlYyk7CiB9CiAKK3ZvaWQgTWVkaWFDb250cm9sbGVyOjpjbGVhclBvc2l0aW9uVGlt
ZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xsZXI+KikKK3sKKyAgICBtX3Bvc2l0aW9uID0gLTE7
Cit9CisKIGJvb2wgTWVkaWFDb250cm9sbGVyOjpoYXNBdWRpbygpIGNvbnN0CiB7CiAgICAgZm9y
IChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IG1fbWVkaWFFbGVtZW50cy5zaXplKCk7ICsraW5k
ZXgpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCmluZGV4IDIxNTE2MDI0ZWIy
NDU3ZWJkNGQ4MDk2NjVmNTAzNWNkOWMwM2E2OTAuLmI2OWUxYWUzY2JmNWUwY2JkNDNlMGRmZWMz
MTA4MmRiYTE0YWU2MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250
cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaApAQCAt
MTI1LDYgKzEyNSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBicmluZ0VsZW1lbnRVcFRvU3BlZWQo
SFRNTE1lZGlhRWxlbWVudCopOwogICAgIHZvaWQgc2NoZWR1bGVFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIGV2ZW50TmFtZSk7CiAgICAgdm9pZCBhc3luY0V2ZW50VGltZXJGaXJlZChUaW1lcjxN
ZWRpYUNvbnRyb2xsZXI+Kik7CisgICAgdm9pZCBjbGVhclBvc2l0aW9uVGltZXJGaXJlZChUaW1l
cjxNZWRpYUNvbnRyb2xsZXI+Kik7CiAgICAgYm9vbCBoYXNFbmRlZCgpIGNvbnN0OwogCiAgICAg
Ly8gRXZlbnRUYXJnZXQKQEAgLTE0MiwxMSArMTQzLDEzIEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X3BhdXNlZDsKICAgICBmbG9hdCBtX2RlZmF1bHRQbGF5YmFja1JhdGU7CiAgICAgZmxvYXQgbV92
b2x1bWU7CisgICAgbXV0YWJsZSBmbG9hdCBtX3Bvc2l0aW9uOwogICAgIGJvb2wgbV9tdXRlZDsK
ICAgICBSZWFkeVN0YXRlIG1fcmVhZHlTdGF0ZTsKICAgICBQbGF5YmFja1N0YXRlIG1fcGxheWJh
Y2tTdGF0ZTsKICAgICBWZWN0b3I8UmVmUHRyPEV2ZW50PiA+IG1fcGVuZGluZ0V2ZW50czsKICAg
ICBUaW1lcjxNZWRpYUNvbnRyb2xsZXI+IG1fYXN5bmNFdmVudFRpbWVyOworICAgIG11dGFibGUg
VGltZXI8TWVkaWFDb250cm9sbGVyPiBtX2NsZWFyUG9zaXRpb25UaW1lcjsKICAgICBTdHJpbmcg
bV9tZWRpYUdyb3VwOwogICAgIGJvb2wgbV9jbG9zZWRDYXB0aW9uc1Zpc2libGU7CiAgICAgUGFz
c1JlZlB0cjxDbG9jaz4gbV9jbG9jazsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4NDZlOGVjNjdmYzNjZmExYWRkZDhlMjE1
MDU5ZTU3NjE0MTNjMGMzLi5hZTE1YzRiZTgxNDRhOTgyNjZjNGYxNjM3MTFkODdhNmM1NDFlOTg2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAKIDIwMTItMDYtMDcgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CiAKKyAgICAgICAgTWVkaWFDb250cm9sbGVyLmN1cnJlbnRUaW1lIHNob3Vs
ZCBiZSBrZXB0IHN0YWJsZSBkdXJpbmcgc2NyaXB0IGV4ZWN1dGlvbi4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NTU1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBtZWRpYS9tZWRpYS1jb250cm9sbGVy
LXRpbWUtY29uc3RhbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tZWRp
YS1jb250cm9sbGVyLXRpbWUtY29uc3RhbnQuaHRtbDogQWRkZWQuCisKKzIwMTItMDYtMDcgIEpl
ciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKICAgICAgICAgc29tZXRpbWVzIGFsbCBz
bGF2ZWQgdmlkZW9zIGRvbid0IHN0YXJ0IHBsYXlpbmcKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NTUzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21lZGlhL21lZGlhLWNvbnRyb2xsZXItdGltZS1jb25zdGFudC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLXRpbWUtY29uc3RhbnQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYwMGUyYzg2MGMzM2IyYWFlMmEwNDgyOGI4NDU2OWUyMzI4MWUzMzQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLXRpbWUt
Y29uc3RhbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgdGVzdHMgdGhhdCBj
dXJyZW50VGltZSBpcyBrZXB0IHN0YWJsZSBkdXJpbmcgc2NyaXB0IGV4ZWN1dGlvbi4KK1JVTihj
b250cm9sbGVyID0gdmlkZW8uY29udHJvbGxlcikKK0VWRU5UKGNhbnBsYXl0aHJvdWdoKQorUlVO
KHZpZGVvLnBsYXkoKSkKK1JVTihjb250cm9sbGVyLnBsYXkoKSkKK0VWRU5UKHBsYXlpbmcpCitS
VU4oZmlyc3RUaW1lID0gY29udHJvbGxlci5jdXJyZW50VGltZSkKK1JVTihzZWNvbmRUaW1lID0g
Y29udHJvbGxlci5jdXJyZW50VGltZSkKK0VYUEVDVEVEIChmaXJzdFRpbWUgLSBzZWNvbmRUaW1l
ID09ICcwJykgT0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlh
L21lZGlhLWNvbnRyb2xsZXItdGltZS1jb25zdGFudC5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEv
bWVkaWEtY29udHJvbGxlci10aW1lLWNvbnN0YW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWQ1NTYyOWRi
MmY1YjA4NjkyNDVhNjBkOTcwZDFkMjhjOTA5MTNhMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL21lZGlhL21lZGlhLWNvbnRyb2xsZXItdGltZS1jb25zdGFudC5odG1sCkBAIC0wLDAg
KzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPW1lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPXZp
ZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisKKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgdmFyIGNv
bnRyb2xsZXI7CisgICAgICAgIHZhciB2aWRlbzsKKyAgICAgICAgdmFyIGZpcnN0VGltZTsKKyAg
ICAgICAgdmFyIHNlY29uZFRpbWU7CisKKyAgICAgICAgZnVuY3Rpb24gc3RhcnQoKSB7CisgICAg
ICAgICAgICB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWRlbycpOworICAgICAg
ICAgICAgcnVuKCdjb250cm9sbGVyID0gdmlkZW8uY29udHJvbGxlcicpOworICAgICAgICAgICAg
Y29udHJvbGxlci5hZGRFdmVudExpc3RlbmVyKCdjYW5wbGF5dGhyb3VnaCcsIGNhbnBsYXl0aHJv
dWdoLCB0cnVlKTsKKyAgICAgICAgICAgIHZhciBzcmMgPSBmaW5kTWVkaWFGaWxlKCd2aWRlbycs
ICdjb250ZW50L3Rlc3QnKTsKKyAgICAgICAgICAgIHZpZGVvLnNyYyA9IHNyYzsKKyAgICAgICAg
fQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gY2FucGxheXRocm91Z2goKSB7CisgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIkVWRU5UKGNhbnBsYXl0aHJvdWdoKSIpOworICAgICAgICAgICAg
Y29udHJvbGxlci5yZW1vdmVFdmVudExpc3RlbmVyKCdjYW5wbGF5dGhyb3VnaCcsIGNhbnBsYXl0
aHJvdWdoLCB0cnVlKTsKKyAgICAgICAgICAgIHJ1bigndmlkZW8ucGxheSgpJyk7CisgICAgICAg
ICAgICBjb250cm9sbGVyLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCBwbGF5aW5nLCB0cnVl
KTsKKyAgICAgICAgICAgIHJ1bignY29udHJvbGxlci5wbGF5KCknKTsKKyAgICAgICAgfQorICAg
ICAgICAKKyAgICAgICAgZnVuY3Rpb24gcGxheWluZygpIHsgCisgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIkVWRU5UKHBsYXlpbmcpIik7CisgICAgICAgICAgICBjb250cm9sbGVyLnJlbW92ZUV2
ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCBwbGF5aW5nLCB0cnVlKTsKKyAgICAgICAgICAgIHJ1bign
Zmlyc3RUaW1lID0gY29udHJvbGxlci5jdXJyZW50VGltZScpOworICAgICAgICAgICAgcnVuKCdz
ZWNvbmRUaW1lID0gY29udHJvbGxlci5jdXJyZW50VGltZScpOworICAgICAgICAgICAgdGVzdEV4
cGVjdGVkKCdmaXJzdFRpbWUgLSBzZWNvbmRUaW1lJywgMCk7CisgICAgICAgICAgICBlbmRUZXN0
KCk7CisgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5
IG9ubG9hZD0ic3RhcnQoKSI+CisgICAgICAgIDx2aWRlbyBpZD0idmlkZW8iIG1lZGlhR3JvdXA9
Imdyb3VwIiBjb250cm9scz48L3ZpZGVvPgorICAgICAgICA8ZGl2PlRoaXMgdGVzdHMgdGhhdCBj
dXJyZW50VGltZSBpcyBrZXB0IHN0YWJsZSBkdXJpbmcgc2NyaXB0IGV4ZWN1dGlvbi48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>
<flag name="review"
          id="153623"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>