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

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

Issue 2003016: Disallow display of multiple experimental.extension.popup(...) windows ... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years, 7 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 | 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. 6 // Some helper functions that track the focus state of a form on the toolbar.
7 var formFocused = false; 7 var formFocused = false;
8 function onFormFocused() { 8 function onFormFocused() {
9 formFocused = true; 9 formFocused = true;
10 } 10 }
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 chrome.test.listenOnce(chrome.experimental.popup.onClosed, function() { 104 chrome.test.listenOnce(chrome.experimental.popup.onClosed, function() {
105 // TODO(twiz): getPopupView() should return undefined, but, due to 105 // TODO(twiz): getPopupView() should return undefined, but, due to
106 // shut-down races, it is sometimes still defined. See BUG 27658. 106 // shut-down races, it is sometimes still defined. See BUG 27658.
107 // chrome.test.assertTrue( 107 // chrome.test.assertTrue(
108 // chrome.experimental.extension.getPopupView() == undefined); 108 // chrome.experimental.extension.getPopupView() == undefined);
109 }); 109 });
110 chrome.experimental.extension.getPopupView().close(); 110 chrome.experimental.extension.getPopupView().close();
111 }, 111 },
112 function popupBlackBorder() { 112 function popupBlackBorder() {
113 // Ensure that the test waits until the popup is dismissed. 113 // Ensure that the test waits until the popup is dismissed.
114 chrome.test.listenOnce(chrome.experimental.popup.onClosed, 114 chrome.test.listenOnce(chrome.experimental.popup.onClosed);
115 function() {});
116 115
117 // Validate that displaying a pop-up with a black border still invokes 116 // Validate that displaying a pop-up with a black border still invokes
118 // the callback successfully. Note that this test does not validate 117 // the callback successfully. Note that this test does not validate
119 // the actual style of the border displayed. 118 // the actual style of the border displayed.
120 var showDetails = { 119 var showDetails = {
121 "relativeTo": document.getElementById("anchorHere"), 120 "relativeTo": document.getElementById("anchorHere"),
122 "borderStyle": "rectangle" 121 "borderStyle": "rectangle"
123 }; 122 };
124 chrome.experimental.popup.show("toolband_popup.html", 123 chrome.experimental.popup.show("toolband_popup.html",
125 showDetails, 124 showDetails,
126 chrome.test.callbackPass(function() { 125 chrome.test.callbackPass(function() {
127 chrome.experimental.extension.getPopupView().close(); 126 chrome.experimental.extension.getPopupView().close();
128 })); 127 }));
129 }, 128 },
129 function disallowMultiplePopups() {
130 // This test ensures that for a given extension with a popup displayed,
131 // displaying a subsequent popup will dismiss the first.
132 var showDetails1 = {
133 "relativeTo": document.getElementById("anchorHere"),
134 };
135
136 var showDetails2 = {
137 "relativeTo": document.getElementById("anchorHere2"),
138 "borderStyle": "rectangle"
139 };
140
141 // Track the number of popups opened and closed, so that we can signal
142 // the test as completed when appropriate.
143 var numberClosed = 0;
144 var doneListening = chrome.test.listenForever(
145 chrome.experimental.popup.onClosed,
146 function() {
147 // This test expects to open and close two popups, so signify that
148 // the test has succeeded, after closing the second popup.
149 if (++numberClosed == 2) {
150 doneListening();
151 }
152 });
153
154 chrome.experimental.popup.show("toolband_popup_a.html",
155 showDetails1,
156 function() {
157 // Validate that the popup view returned is the one we expect.
158 chrome.test.assertEq(
159 'a',
160 chrome.experimental.extension.getPopupView().getIdentity());
161
162 // Ensure that only one popup is open.
163 chrome.test.assertEq(
164 1,
165 chrome.extension.getViews({type: "popup"}).length);
166
167 chrome.experimental.popup.show("toolband_popup_b.html",
168 showDetails2,
169 function() {
170 // Validate that the first popup view is fully closed, and that
171 // getPopupView returns the most recently opened popup.
172 chrome.test.assertEq(
173 'b',
174 chrome.experimental.extension.getPopupView().getIdentity());
175
176 // Ensure that only one popup is open.
177 chrome.test.assertEq(
178 1,
179 chrome.extension.getViews({type: 'popup'}).length);
180
181 chrome.experimental.extension.getPopupView().close();
182 });
183 });
184 },
130 function popupChromeSizing() { 185 function popupChromeSizing() {
131 // Ensure that the test waits until the popup is dismissed. 186 // Ensure that the test waits until the popup is dismissed.
132 chrome.test.listenOnce(chrome.experimental.popup.onClosed); 187 chrome.test.listenOnce(chrome.experimental.popup.onClosed);
133 188
134 // Ensure that popups with a chrome border are repositioned and sized 189 // Ensure that popups with a chrome border are repositioned and sized
135 // correctly. 190 // correctly.
136 var showDetails = { 191 var showDetails = {
137 "relativeTo": document.getElementById("anchorHere") 192 "relativeTo": document.getElementById("anchorHere")
138 }; 193 };
139 194
(...skipping 12 matching lines...) Expand all
152 }; 207 };
153 208
154 chrome.experimental.popup.show("toolband_popup_sizing.html", 209 chrome.experimental.popup.show("toolband_popup_sizing.html",
155 showDetails); 210 showDetails);
156 } 211 }
157 ]); 212 ]);
158 } 213 }
159 </script> 214 </script>
160 </head> 215 </head>
161 <body> 216 <body>
162 <div> 217 <div id="anchorHere">
163 <span id="anchorHere">TEST</span> 218 <span>TEST</span>
219 </div>
220 <div id="anchorHere2">
221 <span>TESTING 2</span>
164 </div> 222 </div>
165 <form> 223 <form>
166 <input id="entryForm" onfocus="onFormFocused();" onblur="onFormBlurred();"/> 224 <input id="entryForm" onfocus="onFormFocused();" onblur="onFormBlurred();"/>
167 </form> 225 </form>
168 </body> 226 </body>
169 </html> 227 </html>
OLDNEW
« no previous file with comments | « chrome/renderer/render_view.cc ('k') | chrome/test/data/extensions/api_test/popup/toolband_popup_a.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698