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

Unified Diff: content/browser/media/android/browser_media_session_manager_browsertest.cc

Issue 2252783004: Implement MediaSession (metadata) per frame [NOT READY, HAS DEPENDENCY] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed comments Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/media/android/browser_media_session_manager_browsertest.cc
diff --git a/content/browser/media/android/browser_media_session_manager_browsertest.cc b/content/browser/media/android/browser_media_session_manager_browsertest.cc
index ddd11e1a1602aac54ba781a025d91c8023443d8b..b9dd8378c99d9dfa419ae76477e47878c7a06e7a 100644
--- a/content/browser/media/android/browser_media_session_manager_browsertest.cc
+++ b/content/browser/media/android/browser_media_session_manager_browsertest.cc
@@ -12,7 +12,7 @@
#include "base/memory/ptr_util.h"
#include "base/strings/utf_string_conversions.h"
#include "content/browser/media/android/media_web_contents_observer_android.h"
-#include "content/public/browser/web_contents.h"
+#include "content/browser/web_contents/web_contents_impl.h"
#include "content/public/common/content_switches.h"
#include "content/public/common/media_metadata.h"
#include "content/public/test/browser_test_utils.h"
@@ -35,17 +35,13 @@ std::string BuildSetMetadataScript(
const base::Optional<MediaMetadata>& metadata) {
std::ostringstream generated_script;
- generated_script
- << "var audio = document.createElement(\'audio\');"
- << "audio.session = new MediaSession();";
-
if (!metadata.has_value()) {
- generated_script << "audio.session.metadata = null;";
+ generated_script << "window.navigator.mediaSession.metadata = null;";
return generated_script.str();
}
generated_script
- << "audio.session.metadata = new MediaMetadata({"
+ << "window.navigator.mediaSession.metadata = new MediaMetadata({"
<< "title: \"" << metadata->title << "\", "
<< "artist: \"" << metadata->artist << "\", "
<< "album: \"" << metadata->album << "\", "
@@ -95,8 +91,9 @@ void PrintTo(const base::Optional<MediaMetadata>& metadata, std::ostream* os) {
class MockBrowserMediaSessionManager : public BrowserMediaSessionManager {
public:
- explicit MockBrowserMediaSessionManager(RenderFrameHost* render_frame_host)
- : BrowserMediaSessionManager(render_frame_host) {}
+ explicit MockBrowserMediaSessionManager(RenderFrameHost* render_frame_host,
+ WebContentsImpl* contents)
+ : BrowserMediaSessionManager(render_frame_host, contents) {}
MOCK_METHOD2(OnActiveate, void(int session_id, int request_id));
MOCK_METHOD2(OnDeactiveate, void(int session_id, int request_id));
@@ -115,10 +112,11 @@ class BrowserMediaSessionManagerBrowserTest : public ContentBrowserTest {
protected:
void SetUpOnMainThread() override {
ContentBrowserTest::SetUpOnMainThread();
- web_contents_ = shell()->web_contents();
+ web_contents_ = static_cast<WebContentsImpl*>(shell()->web_contents());
std::unique_ptr<MockBrowserMediaSessionManager> manager(
- new MockBrowserMediaSessionManager(web_contents_->GetMainFrame()));
+ new MockBrowserMediaSessionManager(
+ web_contents_->GetMainFrame(), web_contents_));
browser_media_session_manager_ = manager.get();
MediaWebContentsObserverAndroid::FromWebContents(web_contents_)
->SetMediaSessionManagerForTest(
@@ -137,7 +135,7 @@ class BrowserMediaSessionManagerBrowserTest : public ContentBrowserTest {
switches::kEnableBlinkFeatures, "MediaSession");
}
- WebContents* web_contents_;
+ WebContentsImpl* web_contents_;
MockBrowserMediaSessionManager* browser_media_session_manager_;
scoped_refptr<MessageLoopRunner> message_loop_runner_;
};

Powered by Google App Engine
This is Rietveld 408576698