| Index: content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsObserverProxy.java
 | 
| diff --git a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsObserverProxy.java b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsObserverProxy.java
 | 
| index 62ad605ee65b33aaaa26a756ce006a6fa6b69daa..316efa552d61733415e3d0c2ed87952545122fb6 100644
 | 
| --- a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsObserverProxy.java
 | 
| +++ b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsObserverProxy.java
 | 
| @@ -213,6 +213,14 @@ class WebContentsObserverProxy extends WebContentsObserver {
 | 
|  
 | 
|      @Override
 | 
|      @CalledByNative
 | 
| +    public void mediaSessionStateChanged(boolean isControllable, boolean isSuspended) {
 | 
| +        for (mObserversIterator.rewind(); mObserversIterator.hasNext();) {
 | 
| +            mObserversIterator.next().mediaSessionStateChanged(isControllable, isSuspended);
 | 
| +        }
 | 
| +    }
 | 
| +
 | 
| +    @Override
 | 
| +    @CalledByNative
 | 
|      public void destroy() {
 | 
|          // Super destruction semantics (removing the observer from the
 | 
|          // Java-based WebContents) are quite different, so we explicitly avoid
 | 
| 
 |