OLD | NEW |
---|---|
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 }; |
OLD | NEW |