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

Side by Side Diff: chrome/test/data/extensions/api_test/popup_api/toolband.html

Issue 454019: Addition of optional giveFocus parameter to experimental.popup.show(...) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 11 years 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 | Annotate | Revision Log
OLDNEW
1 <html xmlns="http://www.w3.org/1999/xhtml"> 1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head> 2 <head>
3 <script> 3 <script>
4 var globalValue = "I am not 42."; 4 var globalValue = "I am not 42.";
5 5
6 // Some helper functions that track the focus state of a form on the toolbar.
7 var formFocused = false;
8 function onFormFocused() {
9 formFocused = true;
10 }
11
12 function onFormBlurred() {
13 formFocused = false;
14 }
15
6 window.onload = function() { 16 window.onload = function() {
7 chrome.test.runTests([ 17 chrome.test.runTests([
18 function showNoFocusShift() {
19 var entryForm = document.getElementById("entryForm").focus();
20 chrome.test.assertTrue(formFocused);
21
22 // Validate that displaying a pop-up with the giveFocus parameter assigned
23 // to false does not touch the focus setting of the input field.
24 var showDetails = {
25 "relativeTo": document.getElementById("anchorHere"),
26 "giveFocus": false
27 };
28
29 // The focus should also remain untouched during closing of the popup.
30 chrome.test.listenOnce(chrome.experimental.popup.onClosed, function(){
31 chrome.test.assertTrue(formFocused);
32 });
33
34 chrome.experimental.popup.show("toolband_popup.html",
35 showDetails,
36 chrome.test.callbackPass(function() {
37 chrome.test.assertTrue(formFocused);
38 chrome.experimental.extension.getPopupView().close();
39 }));
40 },
8 function noPopup() { 41 function noPopup() {
9 chrome.test.assertTrue( 42 chrome.test.assertTrue(
10 undefined === chrome.experimental.extension.getPopupView(), 43 undefined === chrome.experimental.extension.getPopupView(),
11 "Popup view is defined when no popup shown."); 44 "Popup view is defined when no popup shown.");
12 chrome.test.succeed(); 45 chrome.test.succeed();
13 }, 46 },
14 function noParentWindow() { 47 function noParentWindow() {
15 chrome.test.assertTrue( 48 chrome.test.assertTrue(
16 undefined === chrome.experimental.popup.getParentWindow(), 49 undefined === chrome.experimental.popup.getParentWindow(),
17 "Parent ); 50 "Parent window accessible outside of popup view.");
18 chrome.test.succeed(); 51 chrome.test.succeed();
19 }, 52 },
20 function show() { 53 function show() {
21 var showDetails = { 54 var showDetails = {
22 "relativeTo": document.getElementById("anchorHere") 55 "relativeTo": document.getElementById("anchorHere")
23 }; 56 };
24 chrome.experimental.popup.show("toolband_popup.html", 57 chrome.experimental.popup.show("toolband_popup.html",
25 showDetails, 58 showDetails,
26 chrome.test.callbackPass(function() { 59 chrome.test.callbackPass(function() {
27 chrome.test.assertTrue( 60 chrome.test.assertTrue(
28 chrome.experimental.extension.getPopupView() != undefined); 61 chrome.experimental.extension.getPopupView() != undefined);
29 })); 62 }));
30 }, 63 },
31 function accessPopup() { 64 function accessPopup() {
32 var popupView = chrome.experimental.extension.getPopupView(); 65 var popupView = chrome.experimental.extension.getPopupView();
33 chrome.test.assertTrue(popupView != undefined, 66 chrome.test.assertTrue(popupView != undefined,
34 "Unable to access popup view."); 67 "Unable to access popup view.");
35 68
36 chrome.test.assertTrue(popupView.theAnswer != undefined, 69 chrome.test.assertTrue(popupView.theAnswer != undefined,
37 "Unable to access popup contents."); 70 "Unable to access popup contents.");
38 71
39 chrome.test.assertEq(42, popupView.theAnswer()); 72 chrome.test.assertEq(42, popupView.theAnswer());
40 chrome.test.succeed(); 73 chrome.test.succeed();
41 }, 74 },
42
43 function accessHost() { 75 function accessHost() {
44 var popupView = chrome.experimental.extension.getPopupView(); 76 var popupView = chrome.experimental.extension.getPopupView();
45 chrome.test.assertTrue(popupView != undefined, 77 chrome.test.assertTrue(popupView != undefined,
46 "Unable to access popup view."); 78 "Unable to access popup view.");
47 79
48 chrome.test.assertTrue(popupView.manipulateHost != undefined, 80 chrome.test.assertTrue(popupView.manipulateHost != undefined,
49 "Unable to access popup contents."); 81 "Unable to access popup contents.");
50 82
51 popupView.manipulateHost(); 83 popupView.manipulateHost();
52 chrome.test.assertEq(42, globalValue); 84 chrome.test.assertEq(42, globalValue);
53 chrome.test.succeed(); 85 chrome.test.succeed();
54 }, 86 },
55
56 function closePopup() { 87 function closePopup() {
57 chrome.test.listenOnce(chrome.experimental.popup.onClosed, function(){ 88 chrome.test.listenOnce(chrome.experimental.popup.onClosed, function(){
58 // TODO(twiz): getPopupView() should return undefined, but, due to 89 // TODO(twiz): getPopupView() should return undefined, but, due to
59 // shut-down races, it is sometimes still defined. See BUG 90 // shut-down races, it is sometimes still defined. See BUG 27658.
60 //chrome.test.assertTrue( 91 // chrome.test.assertTrue(
61 // chrome.experimental.extension.getPopupView() == undefined); 92 // chrome.experimental.extension.getPopupView() == undefined);
62 }); 93 });
63 chrome.experimental.extension.getPopupView().close(); 94 chrome.experimental.extension.getPopupView().close();
64 } 95 }
65 ]); 96 ]);
66 } 97 }
67 </script> 98 </script>
68 </head> 99 </head>
69 <body> 100 <body>
70 <div> 101 <div>
71 <span id="anchorHere">TEST</span> 102 <span id="anchorHere">TEST</span>
72 </div> 103 </div>
104 <form>
105 <input id="entryForm" onfocus="onFormFocused();" onblur="onFormBlurred();"/>
106 </form>
73 </body> 107 </body>
74 </html> 108 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698