<?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>200511</bug_id>
          
          <creation_ts>2019-08-07 11:36:46 -0700</creation_ts>
          <short_desc>Muted &lt;video&gt; elements can block display from sleeping.</short_desc>
          <delta_ts>2019-08-08 15:41:11 -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>WebKit 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>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jonlee</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1559215</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-08-07 11:36:46 -0700</bug_when>
    <thetext>Muted &lt;video&gt; elements can block display from sleeping.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559217</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-07 11:37:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/54043061&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559218</commentid>
    <comment_count>2</comment_count>
      <attachid>375724</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-08-07 11:38:02 -0700</bug_when>
    <thetext>Created attachment 375724
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559307</commentid>
    <comment_count>3</comment_count>
      <attachid>375724</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-07 14:12:11 -0700</bug_when>
    <thetext>Comment on attachment 375724
Patch

Clearing flags on attachment: 375724

Committed r248387: &lt;https://trac.webkit.org/changeset/248387&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559308</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-07 14:12:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559545</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-08-08 10:14:32 -0700</bug_when>
    <thetext>This sounds like it was correct behavior. When I&apos;m watching a video, the display should not sleep. Whether I decided to mute audio is irrelevant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559549</commentid>
    <comment_count>6</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-08-08 10:27:17 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #5)
&gt; This sounds like it was correct behavior. When I&apos;m watching a video, the
&gt; display should not sleep. Whether I decided to mute audio is irrelevant.

It most definitely was not correct.  We have no concept of whether the user is &quot;watching&quot; a video. You might make the argument that a video that started out not-muted and was muted with a user gesture should not cause the display from sleeping, but we would also have to add &quot;is the video visible in the viewport&quot; to that requirement, to keep a user-muted video which was scrolled offscreen from keeping the display awake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559552</commentid>
    <comment_count>7</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2019-08-08 10:31:22 -0700</bug_when>
    <thetext>Do we treat a muted video and the whole system sound muted the same?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559588</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-08-08 11:27:33 -0700</bug_when>
    <thetext>&gt; It most definitely was not correct.  We have no concept of whether the user is &quot;watching&quot; a video.

If we have no such concept, then we must assume that the user is watching it.

My understanding is that after this change, any video that I&apos;m watching muted (like a Netflix or YouTube video, whether windowed of fullscreen) will eventually go dark. That&apos;s obviously an incorrect behavior.

And there are tons of reasons why one may not want sound.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559661</commentid>
    <comment_count>9</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-08-08 14:30:11 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #8)
&gt; &gt; It most definitely was not correct.  We have no concept of whether the user is &quot;watching&quot; a video.
&gt; 
&gt; If we have no such concept, then we must assume that the user is watching it.

No, that&apos;s absolutely not true. When trading off a very narrow use case vs. the potential to completely drain the users&apos; battery, we must /not/ assume that the user is watching it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559666</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-08-08 14:44:38 -0700</bug_when>
    <thetext>You are saying that muting is a narrow use case. That is equivalent to claiming that every video player in the world is wrong, as they give this functionality a prominent spot in their UI. They must have found that their users want that and use that! It could be that you are right, and everyone else is wrong, but you would need much better evidence for that than strong words.

I agree that there may be an opportunity to further improve battery life if we can identify unwanted videos that play like this and drain the battery. The current patch doesn&apos;t implement any insightful heuristics, and outright breaking muted playback is clearly unacceptable in my opinion.

As it stands now, is there any benefit in keeping the patch in the tree?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559685</commentid>
    <comment_count>11</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-08-08 15:41:11 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #10)
&gt; You are saying that muting is a narrow use case. That is equivalent to
&gt; claiming that every video player in the world is wrong, as they give this
&gt; functionality a prominent spot in their UI.

And you assume that users who mute a video want the display to remain on, regardless of whether they&apos;re actually watching or listening to it.  In fact, muting a video is a strong signal that users aren&apos;t actually watching it.

&gt; As it stands now, is there any benefit in keeping the patch in the tree?

Yes. It protects users from having autoplaying muted videos from draining their battery.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375724</attachid>
            <date>2019-08-07 11:38:02 -0700</date>
            <delta_ts>2019-08-07 14:12:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200511-20190807113802.patch</filename>
            <type>text/plain</type>
            <size>4206</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4MzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZkNzJmNDBkOGY5ZmU1
ZTg4YWQ5NDdlYWM3OTQwZjM5YTgyODRkYi4uYzBmNTM1MDdlNzAxOWQ5OTkwYzY4MDdhNDdjMWNh
YjdjYjg5ZTY2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTA4LTA3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIE11dGVkIDx2aWRlbz4gZWxl
bWVudHMgY2FuIGJsb2NrIGRpc3BsYXkgZnJvbSBzbGVlcGluZy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDUxMQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL3ZpZGVvLW11dGVkLWhv
bGRzLXNsZWVwLWFzc2VydGlvbi5odG1sCisKKyAgICAgICAgTW9kaWZ5IHRoZSBzaG91bGREaXNh
YmxlU2xlZXAoKSBtZXRob2QgdG8gdGFrZSBtdXRpbmcgaW50byBhY2NvdW50LgorCisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQ6OnNob3VsZERpc2FibGVTbGVlcCBjb25zdCk6CisKIDIwMTktMDgtMDcgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgRXh0cmEgc3BhY2Ug
aW5zZXJ0ZWQgYXQgc3RhcnQgb2YgbGluZSB3aGVuIGluc2VydGluZyBhIG5ld2xpbmUgaW4gTWFp
bCBjb21wb3NlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA4
ODVjYjU0YzU5YmVhZDU0YTViY2ZjZTMwOGFiN2E5ZWMxNWRmYjQzLi43MDY4NTZmNjYxMDhjOTRi
YjIzZDk0YWI3MzQ2YTcxMDUyMjNiNTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKQEAgLTY5MTMsNyArNjkxMyw3IEBAIEhUTUxNZWRpYUVsZW1lbnQ6OlNsZWVw
VHlwZSBIVE1MTWVkaWFFbGVtZW50OjpzaG91bGREaXNhYmxlU2xlZXAoKSBjb25zdAogICAgIGlm
IChQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5wcm9jZXNzSXNT
dXNwZW5kZWQoKSkKICAgICAgICAgcmV0dXJuIFNsZWVwVHlwZTo6Tm9uZTsKIAotICAgIGJvb2wg
c2hvdWxkQmVBYmxlVG9TbGVlcCA9ICFoYXNWaWRlbygpIHx8ICFoYXNBdWRpbygpOworICAgIGJv
b2wgc2hvdWxkQmVBYmxlVG9TbGVlcCA9IG1lZGlhVHlwZSgpICE9IFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpWaWRlb0F1ZGlvOwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgLy8gUmVtb3Rl
IG1lZGlhIHN0cmVhbSB2aWRlbyB0cmFja3MgbWF5IGhhdmUgdGhlaXIgY29ycmVzcG9uZGluZyBh
dWRpbyB0cmFja3MgYmVpbmcgcGxheWVkIG91dHNpZGUgb2YgdGhlIG1lZGlhIGVsZW1lbnQuIExl
dCdzIGVuc3VyZSB0byBub3QgSURMRSB0aGUgc2NyZWVuIGluIHRoYXQgY2FzZS4KICAgICAvLyBG
SVhNRTogV2Ugc2hvdWxkIGNoZWNrIHRoYXQgYXVkaW8gaXMgYmVpbmcvdG8gYmUgcGxheWVkLiBJ
ZGVhbGx5LCB3ZSB3b3VsZCBjb21lIHVwIHdpdGggYSBtZWRpYSBzdHJlYW0gYWdub3N0aWMgaGV1
cmlzdGlzYy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBiMTc4ZWY2ZmM2N2NhNjkxM2Q3OTAxZDFmMmJmNTU0OTRjNmVhZTA1
Li45NzNkN2Y0M2UxNTQ3OTMxY2NiYmM5M2Q5MjBjZWQxMDc0MzgwMjM4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTktMDgtMDcgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisK
KyAgICAgICAgTXV0ZWQgPHZpZGVvPiBlbGVtZW50cyBjYW4gYmxvY2sgZGlzcGxheSBmcm9tIHNs
ZWVwaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjAwNTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBtZWRpYS92aWRlby1tdXRlZC1ob2xkcy1zbGVlcC1hc3NlcnRpb24tZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBtZWRpYS92aWRlby1tdXRlZC1ob2xkcy1zbGVlcC1hc3NlcnRpb24u
aHRtbDogQWRkZWQuCisKIDIwMTktMDgtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBh
cHBsZS5jb20+CiAKICAgICAgICAgRXh0cmEgc3BhY2UgaW5zZXJ0ZWQgYXQgc3RhcnQgb2YgbGlu
ZSB3aGVuIGluc2VydGluZyBhIG5ld2xpbmUgaW4gTWFpbCBjb21wb3NlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9tZWRpYS92aWRlby1tdXRlZC1ob2xkcy1zbGVlcC1hc3NlcnRpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbXV0ZWQtaG9sZHMtc2xlZXAtYXNzZXJ0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yODc4MzM5MGQ2YjNkOTk5Yjc5ZjVmOGMwMWM2
NTkzNGJkNmJjZDk5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8t
bXV0ZWQtaG9sZHMtc2xlZXAtYXNzZXJ0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAK
KworUlVOKHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIp
KQorRVZFTlQoY2FucGxheXRocm91Z2gpCitSVU4odmlkZW8ucGxheSgpKQorRVZFTlQocGxheWlu
ZykKK0VYUEVDVEVEIChpbnRlcm5hbHMuZWxlbWVudElzQmxvY2tpbmdEaXNwbGF5U2xlZXAodmlk
ZW8pID09ICdmYWxzZScpIE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9tZWRpYS92aWRlby1tdXRlZC1ob2xkcy1zbGVlcC1hc3NlcnRpb24uaHRtbCBiL0xheW91dFRl
c3RzL21lZGlhL3ZpZGVvLW11dGVkLWhvbGRzLXNsZWVwLWFzc2VydGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjcyMzllMzVkZmYyMDU2NDA5ZGI5NGViNTQ0Mjk0OWE3N2VkYTc4Y2MKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1tdXRlZC1ob2xkcy1zbGVlcC1hc3NlcnRp
b24uaHRtbApAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
CisgICAgPHRpdGxlPnZpZGVvLW11dGVkLWhvbGRzLXNsZWVwLWFzc2VydGlvbjwvdGl0bGU+Cisg
ICAgPHNjcmlwdCBzcmM9InZpZGVvLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3Jj
PSJtZWRpYS1maWxlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgIHZhciBsb2FkZXI7
CisgICAgdmFyIHNvdXJjZTsKKyAgICB2YXIgc291cmNlQnVmZmVyOworCisgICAgd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBhc3luYyBldmVudCA9PiB7CisgICAgICAgIGZpbmRNZWRp
YUVsZW1lbnQoKTsKKworICAgICAgICBydW4oJ3ZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZp
ZGVvIiwgImNvbnRlbnQvdGVzdCIpJyk7CisgICAgICAgIGF3YWl0IHdhaXRGb3IodmlkZW8sICdj
YW5wbGF5dGhyb3VnaCcpOworCisgICAgICAgIHJ1bigndmlkZW8ucGxheSgpJyk7CisgICAgICAg
IGF3YWl0IHdhaXRGb3IodmlkZW8sICdwbGF5aW5nJyk7CisKKyAgICAgICAgdGVzdEV4cGVjdGVk
KCdpbnRlcm5hbHMuZWxlbWVudElzQmxvY2tpbmdEaXNwbGF5U2xlZXAodmlkZW8pJywgZmFsc2Up
OworICAgICAgICBlbmRUZXN0KCk7CisgICAgfSwge29uY2U6IHRydWV9KTsKKyAgICA8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDx2aWRlbyBjb250cm9scyBtdXRlZD48L3ZpZGVvPgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>