<?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>148109</bug_id>
          
          <creation_ts>2015-08-17 17:01:25 -0700</creation_ts>
          <short_desc>Media Session: don&apos;t begin listening for interruptions when an interruption provider is created</short_desc>
          <delta_ts>2015-08-18 18:05:22 -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>Other</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>145411</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Rajca">mrajca</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>conrad_shultz</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>mrajca</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1118325</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-08-17 17:01:25 -0700</bug_when>
    <thetext>If we call beginListeningForInterruption in MediaSessionInterruptionProvider&apos;s constructor, the current class&apos;s implementation will get called, not implementations provided by subclasses (this makes sense since base classes are initialized before derived classes). To fix this, we let clients of MediaSessionInterruptionProvider start listening for interruptions instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118327</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-08-17 17:02:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/22317444&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118330</commentid>
    <comment_count>2</comment_count>
      <attachid>259212</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-08-17 17:06:49 -0700</bug_when>
    <thetext>Created attachment 259212
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118515</commentid>
    <comment_count>3</comment_count>
      <attachid>259212</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-08-18 08:20:03 -0700</bug_when>
    <thetext>Comment on attachment 259212
Patch

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

&gt; Source/WebCore/Modules/mediasession/MediaSessionManager.cpp:48
&gt; +    m_interruptionProvider-&gt;beginListeningForInterruptions();

Shouldn&apos;t this and stopListeningForInterruptions be pure virtual?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118752</commentid>
    <comment_count>4</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-08-18 18:04:13 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 259212 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=259212&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/mediasession/MediaSessionManager.cpp:48
&gt; &gt; +    m_interruptionProvider-&gt;beginListeningForInterruptions();
&gt; 
&gt; Shouldn&apos;t this and stopListeningForInterruptions be pure virtual?

Yeah. That wasn&apos;t possible before since we were calling these in MediaSessionInterruptionProvider&apos;s constructor/destructor, but now that that responsibility has been demoted to the caller, I&apos;ll make the switch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118753</commentid>
    <comment_count>5</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-08-18 18:05:22 -0700</bug_when>
    <thetext>Committed r188615: &lt;http://trac.webkit.org/changeset/188615&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259212</attachid>
            <date>2015-08-17 17:06:49 -0700</date>
            <delta_ts>2015-08-18 08:20:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148109-20150817170648.patch</filename>
            <type>text/plain</type>
            <size>2644</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTdlMTljZTFmMDM3ZTg3
ZjEyNDEyNTdmNzcwYzEyNjFiYzM5YzhlNC4uNDczZjAyMzFjYjhhNzdiNzhlY2JkNjc3Y2EzYTJl
MzkyZTQ5NzE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE1LTA4LTE3ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYSBTZXNzaW9uOiBkb24n
dCBiZWdpbiBsaXN0ZW5pbmcgZm9yIGludGVycnVwdGlvbnMgd2hlbiBhbiBpbnRlcnJ1cHRpb24g
cHJvdmlkZXIgaXMgY3JlYXRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ4MTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSWYgd2UgY2FsbCBgYmVnaW5MaXN0ZW5pbmdGb3JJbnRlcnJ1cHRpb25gIGlu
IE1lZGlhU2Vzc2lvbkludGVycnVwdGlvblByb3ZpZGVyJ3MgY29uc3RydWN0b3IsIHRoZSBjdXJy
ZW50CisgICAgICAgIGNsYXNzJ3MgaW1wbGVtZW50YXRpb24gd2lsbCBnZXQgY2FsbGVkLCBub3Qg
aW1wbGVtZW50YXRpb25zIHByb3ZpZGVkIGJ5IHN1YmNsYXNzZXMgKHRoaXMgbWFrZXMgc2Vuc2Ug
c2luY2UgYmFzZQorICAgICAgICBjbGFzc2VzIGFyZSBpbml0aWFsaXplZCBiZWZvcmUgZGVyaXZl
ZCBjbGFzc2VzKS4gVG8gZml4IHRoaXMsIHdlIGxldCBjbGllbnRzIG9mCisgICAgICAgIE1lZGlh
U2Vzc2lvbkludGVycnVwdGlvblByb3ZpZGVyIHN0YXJ0IGxpc3RlbmluZyBmb3IgaW50ZXJydXB0
aW9ucyBpbnN0ZWFkLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNz
aW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyOjpN
ZWRpYVNlc3Npb25NYW5hZ2VyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXNlc3Npb24vTWVk
aWFTZXNzaW9uSW50ZXJydXB0aW9uUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTZXNzaW9uSW50ZXJydXB0aW9uUHJvdmlkZXI6Ok1lZGlhU2Vzc2lvbkludGVycnVwdGlvblBy
b3ZpZGVyKToKKwogMjAxNS0wOC0xMiAgTWF0dCBSYWpjYSAgPG1yYWpjYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgRml4ZWQgdGhlIFJlbGVhc2UgYnVpbGQgd2hlbiBNRURJQV9TRVNTSU9OIGlzIGVu
YWJsZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9N
ZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNz
aW9uL01lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDE5ZTczY2ZjZjNiNTE4YTcwOTdjNGVm
YjY5OTA2ZGM4ODhhMDcwNTYuLjFjNDAwY2MyZDUxYWI2NDViODE4NmZhMTg1ODY4YmY2YzU4NjVj
YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlh
U2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNz
aW9uL01lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC00NSw2ICs0NSw3IEBAIE1lZGlhU2Vzc2lv
bk1hbmFnZXI6Ok1lZGlhU2Vzc2lvbk1hbmFnZXIoKQogewogI2lmIFBMQVRGT1JNKE1BQykKICAg
ICBtX2ludGVycnVwdGlvblByb3ZpZGVyID0gYWRvcHRSZWYobmV3IE1lZGlhU2Vzc2lvbkludGVy
cnVwdGlvblByb3ZpZGVyTWFjKCp0aGlzKSk7CisgICAgbV9pbnRlcnJ1cHRpb25Qcm92aWRlci0+
YmVnaW5MaXN0ZW5pbmdGb3JJbnRlcnJ1cHRpb25zKCk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkludGVy
cnVwdGlvblByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc2Vzc2lv
bi9NZWRpYVNlc3Npb25JbnRlcnJ1cHRpb25Qcm92aWRlci5jcHAKaW5kZXggYzU1MmFiODM1YzJi
YTVmNjRjYzZhZmQ3MDRhNjRhZWE1MDU4OTg1ZS4uMDczYzc3YTNmMmRkZTA2YTE4Yzk4ZTlmNjVj
MDQ2MDAzNTFmNTIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
ZXNzaW9uL01lZGlhU2Vzc2lvbkludGVycnVwdGlvblByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uSW50ZXJydXB0aW9uUHJv
dmlkZXIuY3BwCkBAIC0zMyw3ICszMyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIE1lZGlhU2Vz
c2lvbkludGVycnVwdGlvblByb3ZpZGVyOjpNZWRpYVNlc3Npb25JbnRlcnJ1cHRpb25Qcm92aWRl
cihNZWRpYVNlc3Npb25JbnRlcnJ1cHRpb25Qcm92aWRlckNsaWVudCYgY2xpZW50KQogICAgIDog
bV9jbGllbnQoJmNsaWVudCkKIHsKLSAgICBiZWdpbkxpc3RlbmluZ0ZvckludGVycnVwdGlvbnMo
KTsKIH0KIAogTWVkaWFTZXNzaW9uSW50ZXJydXB0aW9uUHJvdmlkZXI6On5NZWRpYVNlc3Npb25J
bnRlcnJ1cHRpb25Qcm92aWRlcigpCg==
</data>
<flag name="review"
          id="284370"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>