| 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 panelWindowId = 0; | 5 var panelWindowId = 0; |
| 6 var panelLoaded = false; |
| 6 | 7 |
| 7 // This function is called by the panel during the test run. | 8 // This function is called by the panel during the test run. |
| 8 function panelCallback() { | 9 function panelCallback() { |
| 10 panelLoaded = true; |
| 11 maybeReadyForTest(); |
| 12 } |
| 13 |
| 14 function maybeReadyForTest() { |
| 15 // The order of the two callbacks is not guaranteed. |
| 16 if( panelWindowId === 0 || !panelLoaded) |
| 17 return; |
| 18 |
| 9 // We have now added a panel so the total counts is 2 (browser + panel). | 19 // We have now added a panel so the total counts is 2 (browser + panel). |
| 10 chrome.test.assertEq(2, chrome.extension.getViews().length); | 20 chrome.test.assertEq(2, chrome.extension.getViews().length); |
| 11 // Verify that we're able to get the view of the panel by its window id. | 21 // Verify that we're able to get the view of the panel by its window id. |
| 12 chrome.test.assertEq(1, | 22 chrome.test.assertEq(1, |
| 13 chrome.extension.getViews({"windowId": panelWindowId}).length); | 23 chrome.extension.getViews({"windowId": panelWindowId}).length); |
| 14 chrome.test.notifyPass(); | 24 chrome.test.notifyPass(); |
| 15 } | 25 } |
| 16 | 26 |
| 17 chrome.test.runTests([ | 27 chrome.test.runTests([ |
| 18 function openPanel() { | 28 function openPanel() { |
| 19 chrome.test.listenOnce(chrome.windows.onCreated, function(window) { | 29 chrome.test.listenOnce(chrome.windows.onCreated, function(window) { |
| 20 chrome.test.assertTrue(window.width > 0); | 30 chrome.test.assertTrue(window.width > 0); |
| 21 chrome.test.assertTrue(window.height > 0); | 31 chrome.test.assertTrue(window.height > 0); |
| 22 chrome.test.assertEq("panel", window.type); | 32 chrome.test.assertEq("panel", window.type); |
| 23 chrome.test.assertTrue(!window.incognito); | 33 chrome.test.assertTrue(!window.incognito); |
| 24 }); | 34 }); |
| 25 chrome.windows.create( | 35 chrome.windows.create( |
| 26 { 'url': chrome.extension.getURL('panel.html'), 'type': 'panel' }, | 36 { 'url': chrome.extension.getURL('panel.html'), 'type': 'panel' }, |
| 27 function(win) { | 37 function(win) { |
| 28 chrome.test.assertEq('panel', win.type); | 38 chrome.test.assertEq('panel', win.type); |
| 29 chrome.test.assertEq(true, win.alwaysOnTop); | 39 chrome.test.assertEq(true, win.alwaysOnTop); |
| 30 panelWindowId = win.id; | 40 panelWindowId = win.id; |
| 31 // The panel will call back to us through panelCallback (above). | 41 // The panel will call back to us through panelCallback (above). |
| 42 maybeReadyForTest(); |
| 32 }); | 43 }); |
| 33 } | 44 } |
| 34 ]); | 45 ]); |
| OLD | NEW |