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

Side by Side Diff: chrome/test/data/extensions/api_test/media_galleries/gallerywatch/test.js

Issue 440813002: Expose gallery watching functionality to the public mediaGalleries API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix issue where a number needed to be passed as a string for gallery_id. Also add test for this. Created 6 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 var galleries; 5 var galleries;
6 var invalidGalleryId = '11000'; 6 var invalidGalleryId = '11000';
7 7
8 // chrome.mediaGalleries.getMediaFileSystems callback. 8 // chrome.mediaGalleries.getMediaFileSystems callback.
9 var mediaFileSystemsListCallback = function (results) { 9 var mediaFileSystemsListCallback = function (results) {
10 galleries = results; 10 galleries = results;
11 chrome.test.sendMessage('get_media_file_systems_callback_ok'); 11 chrome.test.sendMessage('get_media_file_systems_callback_ok');
12 }; 12 };
13 13
14 // Gallery changed event handler. 14 // Gallery changed event handler.
15 var onGalleryChangedCallback = function (details) { 15 var onGalleryChangedCallback = function (details) {
16 chrome.test.sendMessage('gallery_changed_event_received'); 16 chrome.test.sendMessage('gallery_changed_event_received');
17 }; 17 };
18 18
19 // Add watch request callback. 19 // Add watch request callback.
20 var onAddWatchRequestCallback = function (details) { 20 var onAddWatchRequestCallback = function (details) {
21 if (!details || !details.success) 21 if (!details.success) {
Lei Zhang 2014/08/25 22:45:21 flip this block? if (detauls.success) { // succ
Oren Blasberg 2014/08/26 00:40:49 Done.
22 chrome.test.sendMessage('add_watch_request_failed'); 22 chrome.test.sendMessage('add_watch_request_failed');
23 else 23 } else {
24 chrome.test.sendMessage('add_watch_request_succeeded'); 24 chrome.test.sendMessage('add_watch_request_succeeded');
25 }
25 }; 26 };
26 27
27 // chrome.mediaGalleries.getAllGalleryWatch callback. 28 // chrome.mediaGalleries.getAllGalleryWatch callback.
28 var getAllGalleryWatchCallback = function (results) { 29 var getAllGalleryWatchCallback = function (results) {
29 if (!results) { 30 if (!results) {
30 chrome.test.sendMessage('get_all_gallery_watch_failed'); 31 chrome.test.sendMessage('get_all_gallery_watch_failed');
31 return; 32 return;
32 } 33 }
33 if (results.length == 0) { 34 if (results.length == 0) {
34 chrome.test.sendMessage('gallery_watchers_does_not_exists'); 35 chrome.test.sendMessage('gallery_watchers_does_not_exists');
35 } else { 36 } else {
36 for (var i = 0; i < results.lendth; ++i) { 37 for (var i = 0; i < results.length; ++i) {
Lei Zhang 2014/08/25 22:45:21 !! how did this ever work?
Oren Blasberg 2014/08/26 00:40:49 Lol, probably because every number < undefined ==
37 var info = chrome.mediaGalleries.getMediaFileSystemMetadata(galleries[i]); 38 var info = chrome.mediaGalleries.getMediaFileSystemMetadata(galleries[i]);
38 if (results[i] !== info.galleryId) { 39 if (results[i] !== info.galleryId) {
39 chrome.test.sendMessage('gallery_watcher_mismatch'); 40 chrome.test.sendMessage('gallery_watcher_mismatch');
40 return; 41 return;
41 } 42 }
42 } 43 }
43 chrome.test.sendMessage('gallery_watcher_checks'); 44 chrome.test.sendMessage('gallery_watcher_checks');
44 } 45 }
45 }; 46 };
46 47
48 var onGalleryChangedCheckingCallback = function(result) {
49 if (result.galleryId != '' && result.type == 'contents_changed') {
50 chrome.test.sendMessage('on_gallery_changed_checking_ok');
51 }
52 };
53
54
55 /**
56 * Generates a callback function which notifies the apitest when the given
57 * number of runtime errors has occurred.
58 *
59 * @param {number} expectedNumCalls The number of calls to this callback to
60 * expect.
61 * @return {function()}
62 */
63 var createUnlistenedAddWatchCallback = function(expectedNumCalls) {
64 var numCalls = 0;
65 var numErrors = 0;
66 return function() {
67 numCalls++;
68 if (chrome.runtime.lastError) {
69 numErrors++;
70 }
71
72 if (numCalls == expectedNumCalls && numErrors == expectedNumCalls) {
73 chrome.test.sendMessage('add_watch_request_runtime_error');
74 }
75 };
76 }
77
47 // Helpers to add and remove event listeners. 78 // Helpers to add and remove event listeners.
48 function addGalleryChangedListener() { 79 function addGalleryChangedListener() {
49 chrome.mediaGalleriesPrivate.onGalleryChanged.addListener( 80 chrome.mediaGalleries.onGalleryChanged.addListener(
50 onGalleryChangedCallback); 81 onGalleryChangedCallback);
51 chrome.test.sendMessage('add_gallery_changed_listener_ok'); 82 chrome.test.sendMessage('add_gallery_changed_listener_ok');
52 }; 83 };
53 84
85 function addCheckingGalleryChangedListener() {
86 chrome.mediaGalleries.onGalleryChanged.addListener(
87 onGalleryChangedCheckingCallback);
88 chrome.test.sendMessage('add_gallery_changed_listener_ok');
89 };
90
54 function setupWatchOnValidGalleries() { 91 function setupWatchOnValidGalleries() {
55 for (var i = 0; i < galleries.length; ++i) { 92 for (var i = 0; i < galleries.length; ++i) {
56 var info = chrome.mediaGalleries.getMediaFileSystemMetadata(galleries[i]); 93 var info = chrome.mediaGalleries.getMediaFileSystemMetadata(galleries[i]);
57 chrome.mediaGalleriesPrivate.addGalleryWatch(info.galleryId, 94 chrome.mediaGalleries.addGalleryWatch(info.galleryId,
58 onAddWatchRequestCallback); 95 onAddWatchRequestCallback);
59 } 96 }
60 chrome.test.sendMessage('add_gallery_watch_ok'); 97 chrome.test.sendMessage('add_gallery_watch_ok');
61 }; 98 };
62 99
100 function setupWatchOnUnlistenedValidGalleries() {
101 var callback = createUnlistenedAddWatchCallback(galleries.length);
102 for (var i = 0; i < galleries.length; ++i) {
103 var info = chrome.mediaGalleries.getMediaFileSystemMetadata(galleries[i]);
104 chrome.mediaGalleries.addGalleryWatch(info.galleryId, callback);
105 }
106 };
107
63 function setupWatchOnInvalidGallery() { 108 function setupWatchOnInvalidGallery() {
64 chrome.mediaGalleriesPrivate.addGalleryWatch(invalidGalleryId, 109 chrome.mediaGalleries.addGalleryWatch(invalidGalleryId,
65 onAddWatchRequestCallback); 110 onAddWatchRequestCallback);
66 chrome.test.sendMessage('add_gallery_watch_ok');
67 } 111 }
68 112
69 function getMediaFileSystems() { 113 function getMediaFileSystems() {
70 chrome.mediaGalleries.getMediaFileSystems(mediaFileSystemsListCallback); 114 chrome.mediaGalleries.getMediaFileSystems(mediaFileSystemsListCallback);
71 chrome.test.sendMessage('get_media_file_systems_ok'); 115 chrome.test.sendMessage('get_media_file_systems_ok');
72 }; 116 };
73 117
74 function removeGalleryWatch() { 118 function removeGalleryWatch() {
75 for (var i = 0; i < galleries.length; ++i) { 119 for (var i = 0; i < galleries.length; ++i) {
76 var info = chrome.mediaGalleries.getMediaFileSystemMetadata(galleries[i]); 120 var info = chrome.mediaGalleries.getMediaFileSystemMetadata(galleries[i]);
77 chrome.mediaGalleriesPrivate.removeGalleryWatch(info.galleryId); 121 chrome.mediaGalleries.removeGalleryWatch(info.galleryId);
78 } 122 }
79 chrome.test.sendMessage('remove_gallery_watch_ok'); 123 chrome.test.sendMessage('remove_gallery_watch_ok');
80 }; 124 };
81 125
82 function removeGalleryChangedListener() { 126 function removeGalleryChangedListener() {
83 chrome.mediaGalleriesPrivate.onGalleryChanged.removeListener( 127 chrome.mediaGalleries.onGalleryChanged.removeListener(
84 onGalleryChangedCallback); 128 onGalleryChangedCallback);
85 chrome.test.sendMessage('remove_gallery_changed_listener_ok'); 129 chrome.test.sendMessage('remove_gallery_changed_listener_ok');
86 }; 130 };
87 131
88 function getAllWatchedGalleryIds() { 132 function getAllWatchedGalleryIds() {
89 chrome.mediaGalleriesPrivate.getAllGalleryWatch(getAllGalleryWatchCallback); 133 chrome.mediaGalleries.getAllGalleryWatch(getAllGalleryWatchCallback);
90 chrome.test.sendMessage('get_all_gallery_watch_ok'); 134 chrome.test.sendMessage('get_all_gallery_watch_ok');
91 }; 135 };
92 136
93 function removeAllGalleryWatch() { 137 function removeAllGalleryWatch() {
94 chrome.mediaGalleriesPrivate.removeAllGalleryWatch(); 138 chrome.mediaGalleries.removeAllGalleryWatch();
95 chrome.test.sendMessage('remove_all_gallery_watch_ok'); 139 chrome.test.sendMessage('remove_all_gallery_watch_ok');
96 }; 140 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698