| Index: chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java
|
| index fec8d6e6904204454ebc60e8d49adfa62b722773..1e5c33367dccd9770965dc9e323028f85178d66c 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java
|
| @@ -284,9 +284,12 @@ public class MediaSessionTabHelper implements MediaImageCallback {
|
| }
|
|
|
| @Override
|
| - public void onUrlUpdated(Tab tab) {
|
| + public void onDidNavigateMainFrame(Tab tab, String url, String baseUrl,
|
| + boolean isNavigationToDifferentPage, boolean isFragmentNavigation, int statusCode) {
|
| assert tab == mTab;
|
|
|
| + if (!isNavigationToDifferentPage) return;
|
| +
|
| String origin = mTab.getUrl();
|
| try {
|
| origin = UrlFormatter.formatUrlForSecurityDisplay(new URI(origin), true);
|
| @@ -299,12 +302,20 @@ public class MediaSessionTabHelper implements MediaImageCallback {
|
| mOrigin = origin;
|
| mFavicon = null;
|
| mPageMediaImage = null;
|
| + mPageMetadata = null;
|
| + // |mCurrentMetadata| selects either |mPageMetadata| or |mFallbackTitle|. As there is no
|
| + // guarantee {@link #onTitleUpdated()} will be called before or after this method,
|
| + // |mFallbackTitle| is not reset in this callback, i.e. relying solely on
|
| + // {@link #onTitleUpdated()}. The following assignment is to keep |mCurrentMetadata| up
|
| + // to date as |mPageMetadata| may have changed.
|
| + mCurrentMetadata = getMetadata();
|
|
|
| if (isNotificationHiddingOrHidden()) return;
|
|
|
| mNotificationInfoBuilder.setOrigin(mOrigin);
|
| mNotificationInfoBuilder.setNotificationLargeIcon(mFavicon);
|
| mNotificationInfoBuilder.setMediaSessionImage(mPageMediaImage);
|
| + mNotificationInfoBuilder.setMetadata(mCurrentMetadata);
|
| showNotification();
|
| }
|
|
|
|
|