Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(661)

Issue 1417743005: Update media notification when page title changes (Closed)

Created:
5 years, 1 month ago by Zhiqiang Zhang (Slow)
Modified:
5 years ago
CC:
chromium-reviews, feature-media-reviews_chromium.org, mcasas+watch_chromium.org, posciak+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Update media notification when page title changes This CL makes the media notification keep in sync when the page title changes. BUG=550424 Committed: https://crrev.com/d0b0d5fe705a29ff989dd3708d61154e8c600024 Cr-Commit-Position: refs/heads/master@{#364938} Committed: https://crrev.com/bb18959a99173041dd3f7bbf99b437749b9b79f6 Cr-Commit-Position: refs/heads/master@{#365047}

Patch Set 1 #

Total comments: 1

Patch Set 2 : Re-implementation to avoid involving tabs into the manager #

Total comments: 1

Patch Set 3 : added TODO comments for future better implementation #

Total comments: 4

Patch Set 4 : added instrumentation tests (THE LAST TEST WILL FAIL) #

Patch Set 5 : merged with master branch (STILL ONE TEST FAILING) #

Total comments: 1

Patch Set 6 : simulate notification controls by sending intents, instead of calling manager.onPlay/Pause/Stop dir… #

Patch Set 7 : merged with TabTestUtils, disabled testSessionStateUncontrollable #

Total comments: 9

Patch Set 8 : running tests on the ui thread. notifications won't update when hidding #

Total comments: 10

Patch Set 9 : fixed tests, sending intents to services #

Patch Set 10 : fixed tests, added a test for multiple tabs #

Patch Set 11 : #

Patch Set 12 : #

Patch Set 13 : #

Total comments: 14

Patch Set 14 : #

Patch Set 15 : #

Total comments: 2

Patch Set 16 : now the tests simulates mediaSessionStateChange through WebContents #

Total comments: 11

Patch Set 17 : using JavaScriptUtils to update title, removed tests that simulate UI controls #

Patch Set 18 : remove simulateTitleUpdated from TabTestUtils #

Patch Set 19 : small fixes suggested by FindBugs #

Patch Set 20 : fix failed test #

Patch Set 21 : rebasing and cleaning up #

Total comments: 14

Patch Set 22 : exposing observers from WebContents(ObserverProxy), creating new Tab using loadUrlInNewTab, and som… #

Patch Set 23 : remove unread mContext field #

Total comments: 3

Patch Set 24 : small fixes #

Patch Set 25 : fix import #

Patch Set 26 : rebase before recommiting #

Unified diffs Side-by-side diffs Delta from patch set Stats (+177 lines, -3 lines) Patch
M chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +8 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +10 lines, -0 lines 0 comments Download
A chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +132 lines, -0 lines 0 comments Download
M chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeActivityTestCaseBase.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +4 lines, -3 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +7 lines, -0 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsObserverProxy.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +9 lines, -0 lines 0 comments Download
M content/public/android/java/src/org/chromium/content_public/browser/WebContents.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +7 lines, -0 lines 0 comments Download

Messages

Total messages: 62 (20 generated)
Zhiqiang Zhang (Slow)
5 years, 1 month ago (2015-11-05 14:23:01 UTC) #2
Zhiqiang Zhang (Slow)
On 2015/11/05 14:23:01, zqzhang wrote: Sorry, I guess there are some naming issues. I got ...
5 years, 1 month ago (2015-11-05 14:29:23 UTC) #3
whywhat
https://codereview.chromium.org/1417743005/diff/1/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java File chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java (right): https://codereview.chromium.org/1417743005/diff/1/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java#newcode127 chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java:127: MediaNotificationManager.updateTitle(tab, R.id.media_playback_notification); Note that when updating the tab title ...
5 years, 1 month ago (2015-11-05 14:31:46 UTC) #4
Zhiqiang Zhang (Slow)
5 years, 1 month ago (2015-11-05 17:08:00 UTC) #5
mlamouri (slow - plz ping)
https://codereview.chromium.org/1417743005/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java File chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java (right): https://codereview.chromium.org/1417743005/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java#newcode136 chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java:136: MediaNotificationManager.update( I'm afraid things will not work well if ...
5 years, 1 month ago (2015-11-05 17:22:28 UTC) #6
Zhiqiang Zhang (Slow)
5 years, 1 month ago (2015-11-05 20:07:39 UTC) #7
mlamouri (slow - plz ping)
Could you add an instrumentation test in chrome/android/javatests/src/org/chromium/chrome/browser/media/ (needs to be created) in order to ...
5 years, 1 month ago (2015-11-06 14:23:48 UTC) #8
Zhiqiang Zhang (Slow)
5 years, 1 month ago (2015-11-10 18:48:34 UTC) #12
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1417743005/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1417743005/60001
5 years, 1 month ago (2015-11-10 18:52:55 UTC) #14
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: ios_dbg_simulator_ninja on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_dbg_simulator_ninja/builds/92445) mac_chromium_compile_dbg_ng on ...
5 years, 1 month ago (2015-11-10 18:56:29 UTC) #16
Zhiqiang Zhang (Slow)
5 years, 1 month ago (2015-11-10 21:31:27 UTC) #17
Zhiqiang Zhang (Slow)
https://codereview.chromium.org/1417743005/diff/80001/chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java (right): https://codereview.chromium.org/1417743005/diff/80001/chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java#newcode93 chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java:93: manager.onStop(MediaNotificationListener.ACTION_SOURCE_MEDIA_NOTIFICATION); The test fails here. test_runner.py only shows an ...
5 years, 1 month ago (2015-11-10 21:43:12 UTC) #18
Zhiqiang Zhang (Slow)
Hi! I've uploaded a new patch set. Now notification control actions are simulated by sending ...
5 years, 1 month ago (2015-11-11 17:46:42 UTC) #20
whywhat
https://codereview.chromium.org/1417743005/diff/140001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java File chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java (right): https://codereview.chromium.org/1417743005/diff/140001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java#newcode135 chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java:135: if (mNotificationInfoBuilder == null) return; This member is never ...
5 years, 1 month ago (2015-11-19 05:57:53 UTC) #21
Zhiqiang Zhang (Slow)
https://codereview.chromium.org/1417743005/diff/180001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java File chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java (right): https://codereview.chromium.org/1417743005/diff/180001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java#newcode305 chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java:305: public static void updateNotificationInfoBuilderAndRefresh( use a different name to ...
5 years, 1 month ago (2015-11-19 18:17:57 UTC) #23
Zhiqiang Zhang (Slow)
https://codereview.chromium.org/1417743005/diff/140001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java File chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java (right): https://codereview.chromium.org/1417743005/diff/140001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java#newcode135 chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java:135: if (mNotificationInfoBuilder == null) return; On 2015/11/19 05:57:53, whywhat ...
5 years, 1 month ago (2015-11-19 19:12:42 UTC) #24
whywhat
https://codereview.chromium.org/1417743005/diff/180001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java File chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java (right): https://codereview.chromium.org/1417743005/diff/180001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java#newcode311 chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java:311: if (manager.mMediaNotificationInfo == null) { On 2015/11/19 at 18:17:57, ...
5 years, 1 month ago (2015-11-19 19:50:51 UTC) #25
Zhiqiang Zhang (Slow)
PTAL https://codereview.chromium.org/1417743005/diff/180001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java File chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java (right): https://codereview.chromium.org/1417743005/diff/180001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java#newcode311 chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java:311: if (manager.mMediaNotificationInfo == null) { On 2015/11/19 19:50:51, ...
5 years, 1 month ago (2015-11-23 20:34:31 UTC) #26
whywhat
lgtm with one comment though (note you'll need owners for Tab.java to submit). Miguel (miguelg@chromium.org) ...
5 years ago (2015-11-24 16:15:45 UTC) #27
Zhiqiang Zhang (Slow)
https://codereview.chromium.org/1417743005/diff/280001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java File chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java (right): https://codereview.chromium.org/1417743005/diff/280001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java#newcode302 chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java:302: * Updates the notification using a new NotificationInfoBuilder, and ...
5 years ago (2015-11-24 20:51:12 UTC) #28
mlamouri (slow - plz ping)
BTW, Zhiqiang, it's expected that you send review comment replies when you have uploaded a ...
5 years ago (2015-11-26 14:17:02 UTC) #29
Zhiqiang Zhang (Slow)
PTAL
5 years ago (2015-11-26 16:46:10 UTC) #31
mlamouri (slow - plz ping)
https://codereview.chromium.org/1417743005/diff/340001/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java File content/public/android/java/src/org/chromium/content_public/browser/WebContents.java (right): https://codereview.chromium.org/1417743005/diff/340001/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java#newcode315 content/public/android/java/src/org/chromium/content_public/browser/WebContents.java:315: void mediaSessionStateChanged(boolean isControllable, boolean isSuspend); Instead of doing that, ...
5 years ago (2015-11-27 13:32:54 UTC) #32
Zhiqiang Zhang (Slow)
PTAL, with the following replies. https://codereview.chromium.org/1417743005/diff/340001/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java File content/public/android/java/src/org/chromium/content_public/browser/WebContents.java (right): https://codereview.chromium.org/1417743005/diff/340001/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java#newcode315 content/public/android/java/src/org/chromium/content_public/browser/WebContents.java:315: void mediaSessionStateChanged(boolean isControllable, boolean ...
5 years ago (2015-11-28 22:06:02 UTC) #34
mlamouri (slow - plz ping)
+tedchoc@ who OWNS the file that Anton and I do not own. So I think ...
5 years ago (2015-11-30 11:33:18 UTC) #36
Zhiqiang Zhang (Slow)
On 2015/11/30 11:33:18, Mounir Lamouri wrote: > +tedchoc@ who OWNS the file that Anton and ...
5 years ago (2015-11-30 13:50:58 UTC) #37
Ted C
https://codereview.chromium.org/1417743005/diff/380001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java File chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java (right): https://codereview.chromium.org/1417743005/diff/380001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java#newcode77 chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java:77: public void mediaSessionStateChanged(boolean isControllable, boolean isPaused) { It would ...
5 years ago (2015-11-30 19:17:04 UTC) #38
mlamouri (slow - plz ping)
https://codereview.chromium.org/1417743005/diff/380001/chrome/android/javatests/src/org/chromium/chrome/browser/tab/TabTestUtils.java File chrome/android/javatests/src/org/chromium/chrome/browser/tab/TabTestUtils.java (right): https://codereview.chromium.org/1417743005/diff/380001/chrome/android/javatests/src/org/chromium/chrome/browser/tab/TabTestUtils.java#newcode68 chrome/android/javatests/src/org/chromium/chrome/browser/tab/TabTestUtils.java:68: tab.updateTitle(title); On 2015/11/30 at 19:17:04, Ted C wrote: > ...
5 years ago (2015-12-01 18:32:12 UTC) #39
mlamouri (slow - plz ping)
https://codereview.chromium.org/1417743005/diff/380001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java File chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java (right): https://codereview.chromium.org/1417743005/diff/380001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java#newcode77 chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java:77: public void mediaSessionStateChanged(boolean isControllable, boolean isPaused) { On 2015/11/30 ...
5 years ago (2015-12-01 18:34:08 UTC) #40
Ted C
https://codereview.chromium.org/1417743005/diff/380001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java File chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java (right): https://codereview.chromium.org/1417743005/diff/380001/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java#newcode77 chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java:77: public void mediaSessionStateChanged(boolean isControllable, boolean isPaused) { On 2015/12/01 ...
5 years ago (2015-12-01 19:40:24 UTC) #41
Zhiqiang Zhang (Slow)
PTAL. I finally decided to use JavaScriptUtils to simulate title updates. Please see my replies ...
5 years ago (2015-12-08 19:58:44 UTC) #42
Ted C
https://codereview.chromium.org/1417743005/diff/490001/chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java (right): https://codereview.chromium.org/1417743005/diff/490001/chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java#newcode27 chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java:27: Tab mTab; private for both of these? https://codereview.chromium.org/1417743005/diff/490001/chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java#newcode46 chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java:46: ...
5 years ago (2015-12-10 21:05:02 UTC) #44
Zhiqiang Zhang (Slow)
PTAL, with the following replies. https://codereview.chromium.org/1417743005/diff/490001/chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java (right): https://codereview.chromium.org/1417743005/diff/490001/chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java#newcode27 chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java:27: Tab mTab; On 2015/12/10 ...
5 years ago (2015-12-11 22:19:20 UTC) #45
Ted C
lgtm w/ a couple little comments https://codereview.chromium.org/1417743005/diff/530001/chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java (right): https://codereview.chromium.org/1417743005/diff/530001/chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java#newcode72 chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/NotificationTitleUpdatedTest.java:72: public void testMultipleTabs() ...
5 years ago (2015-12-12 00:57:13 UTC) #46
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1417743005/570001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1417743005/570001
5 years ago (2015-12-12 19:49:35 UTC) #49
commit-bot: I haz the power
Committed patchset #25 (id:570001)
5 years ago (2015-12-12 19:54:02 UTC) #50
commit-bot: I haz the power
Patchset 25 (id:??) landed as https://crrev.com/d0b0d5fe705a29ff989dd3708d61154e8c600024 Cr-Commit-Position: refs/heads/master@{#364938}
5 years ago (2015-12-12 19:54:55 UTC) #52
tommi (sloooow) - chröme
A revert of this CL (patchset #25 id:570001) has been created in https://codereview.chromium.org/1526433002/ by tommi@chromium.org. ...
5 years ago (2015-12-12 21:30:50 UTC) #53
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1417743005/590001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1417743005/590001
5 years ago (2015-12-14 16:00:09 UTC) #57
commit-bot: I haz the power
Committed patchset #26 (id:590001)
5 years ago (2015-12-14 17:58:55 UTC) #59
commit-bot: I haz the power
Patchset 26 (id:??) landed as https://crrev.com/bb18959a99173041dd3f7bbf99b437749b9b79f6 Cr-Commit-Position: refs/heads/master@{#365047}
5 years ago (2015-12-14 18:00:36 UTC) #61
Michael Courage
5 years ago (2015-12-15 01:32:11 UTC) #62
Message was sent while issue was closed.
A revert of this CL (patchset #26 id:590001) has been created in
https://codereview.chromium.org/1528563003/ by courage@chromium.org.

The reason for reverting is: It looks to me like this change is causing failures
in the ChromeSyncShellTest, e.g.:
https://build.chromium.org/p/chromium.linux/builders/Android%20Tests%20%28dbg...
https://build.chromium.org/p/chromium.linux/builders/Android%20Tests%20%28dbg...

Not sure why this builds successfully, but the signature change to
ChromeActivityTestCaseBase.loadUrlInNewTab causes OpenTabsTest to fail at
runtime.

C   97.565s Main  [FAIL]
org.chromium.chrome.browser.sync.OpenTabsTest#testUploadAndCloseOpenTab:
C   97.565s Main  java.lang.NoSuchMethodError:
org.chromium.chrome.browser.sync.OpenTabsTest.loadUrlInNewTab
C   97.565s Main  	at
org.chromium.chrome.browser.sync.OpenTabsTest.testUploadAndCloseOpenTab(OpenTabsTest.java:108)
C   97.566s Main  	at java.lang.reflect.Method.invokeNative(Native Method)
C   97.566s Main  	at
android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
C   97.566s Main  	at
android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
.

Powered by Google App Engine
This is Rietveld 408576698