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

Unified Diff: third_party/WebKit/LayoutTests/media/mediasession/resources/utils.js

Issue 2401013002: Make MediaSession per frame as an attribute of Navigator (Closed)
Patch Set: fixed tests Created 4 years, 2 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: third_party/WebKit/LayoutTests/media/mediasession/resources/utils.js
diff --git a/third_party/WebKit/LayoutTests/media/mediasession/resources/utils.js b/third_party/WebKit/LayoutTests/media/mediasession/resources/utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..e30fe3fec2949dcfd0e3633adf2c0b35b2b9b602
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/media/mediasession/resources/utils.js
@@ -0,0 +1,44 @@
+function assert_image_equals(expected, observed) {
+ assert_equals(expected.src, observed.src);
+ assert_equals(expected.type, observed.type);
+ assert_equals(expected.sizes, observed.sizes);
+}
+
+function assert_metadata_equals(expected, observed) {
+ assert_equals(expected.title, observed.title);
+ assert_equals(expected.artist, observed.artist);
+ assert_equals(expected.album, observed.album);
+ assert_equals(expected.artwork.length, observed.artwork.length);
+ for (var i = 0; i < expected.artwork.length; i++) {
mlamouri (slow - plz ping) 2016/10/10 20:30:34 style: you can drop { }
Zhiqiang Zhang (Slow) 2016/10/11 10:56:04 Done.
+ assert_image_equals(expected.artwork[i], observed.artwork[i]);
+ }
+}
+
+function mojoString16ToJS(mojoString16) {
+ return String.fromCharCode.apply(this, mojoString16.data);
whywhat 2016/10/10 20:45:09 nit: seems like everywhere else null is passed as
Zhiqiang Zhang (Slow) 2016/10/11 10:56:04 Done.
+}
+
+function mojoImageToJS(mojoImage) {
+ var src = mojoImage.src.url;
+ var type = mojoString16ToJS(mojoImage.type);
+ var sizes = "";
+ for (var i = 0; i < mojoImage.sizes.length; i++) {
+ if (i > 0) {
mlamouri (slow - plz ping) 2016/10/10 20:30:34 style: ditto
Zhiqiang Zhang (Slow) 2016/10/11 10:56:04 Done.
+ sizes = sizes + " ";
whywhat 2016/10/10 20:45:09 nit: +=
Zhiqiang Zhang (Slow) 2016/10/11 10:56:04 Done.
+ }
+ var mojoSize = mojoImage.sizes[i];
+ sizes = sizes + mojoSize.width.toString() + "x" + mojoSize.height.toString();
whywhat 2016/10/10 20:45:09 nit: ditto
Zhiqiang Zhang (Slow) 2016/10/11 10:56:04 Done.
+ }
+ return { src: src, type: type, sizes: sizes };
+}
+
+function mojoMetadataToJS(mojoMetadata) {
+ var title = mojoString16ToJS(mojoMetadata.title);
+ var artist = mojoString16ToJS(mojoMetadata.artist);
+ var album = mojoString16ToJS(mojoMetadata.album);
+ var artwork = [];
+ for (var i = 0; i < mojoMetadata.artwork.length; i++) {
mlamouri (slow - plz ping) 2016/10/10 20:30:34 style: ditto
Zhiqiang Zhang (Slow) 2016/10/11 10:56:04 Done.
+ artwork.push(mojoImageToJS(mojoMetadata.artwork[i]));
+ }
+ return new MediaMetadata({title: title, artist: artist, album: album, artwork: artwork});
+}

Powered by Google App Engine
This is Rietveld 408576698