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

Side by Side Diff: chrome/test/data/extensions/test/TabsAPI/1/tabs_api.html

Issue 88053: implement remaining tab events (except for onTabUpdated). (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 8 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> 1 <html>
2 <head> 2 <head>
3 <script src="jstemplate_compiled.js" type="text/javascript"></script> 3 <script src="jstemplate_compiled.js" type="text/javascript"></script>
4 <script> 4 <script>
5 5
6 tabs = {}; 6 tabs = {};
7 tabIds = []; 7 tabIds = [];
8 8
9 function loadWindowList() { 9 function loadWindowList() {
10 chromium.tabs.getWindows(undefined, function(windowList) { 10 chromium.tabs.getWindows(undefined, function(windowList) {
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 77
78 function appendToLog(logLine) { 78 function appendToLog(logLine) {
79 var log = document.getElementById('log'); 79 var log = document.getElementById('log');
80 log.innerHTML = '<div> &gt;&nbsp;' + logLine + '</div>' + log.innerHTML; 80 log.innerHTML = '<div> &gt;&nbsp;' + logLine + '</div>' + log.innerHTML;
81 } 81 }
82 82
83 function clearLog() { 83 function clearLog() {
84 document.getElementById('log').innerHTML = ''; 84 document.getElementById('log').innerHTML = '';
85 } 85 }
86 86
87 chromium.tabs.onTabMoved.addListener(function(data) { 87 chromium.tabs.onTabCreated.addListener(function(data) {
88 appendToLog('onTabMoved: ' + data.tabId + ' from ' + data.fromIndex + ' to ' + data.toIndex); 88 appendToLog('onTabCreated -- window: ' + data.windowId + ' tab: ' + data.tabId + ' index ' + data.index);
89 loadWindowList(); 89 loadWindowList();
90 }); 90 });
91 91
92 chromium.tabs.onTabAttached.addListener(function(data) {
93 appendToLog('onTabAttached -- window: ' + data.windowId + ' tab: ' + data.tabI d + ' index ' + data.index);
94 loadWindowList();
95 });
96
97 chromium.tabs.onTabMoved.addListener(function(data) {
98 appendToLog('onTabMoved -- window: ' + data.windowId + ' tab: ' + data.tabId + ' from ' + data.fromIndex + ' to ' + data.toIndex);
99 loadWindowList();
100 });
101
102 chromium.tabs.onTabDetached.addListener(function(data) {
103 appendToLog('onTabDetached -- window: ' + data.windowId + ' tab: ' + data.tabI d + ' index ' + data.index);
104 loadWindowList();
105 });
106
107 chromium.tabs.onTabSelectionChanged.addListener(function(data) {
108 appendToLog('onTabSelectionChanged -- window: ' + data.windowId + ' tab: ' + d ata.tabId + ' index ' + data.index);
109 loadWindowList();
110 });
111
112 chromium.tabs.onTabRemoved.addListener(function(data) {
113 appendToLog('onTabRemoved -- window: ' + data.windowId + ' tab: ' + data.tabId + ' index ' + data.index);
114 loadWindowList();
115 });
116
117 function isInt(i) {
118 return (typeof i == "number") && !(i % 1) && !isNaN(i);
119 }
120
121 function createWindow() {
122 var args = {
123 'left': parseInt(document.getElementById('new_window_left').value),
124 'top': parseInt(document.getElementById('new_window_top').value),
125 'width': parseInt(document.getElementById('new_window_width').value),
126 'height': parseInt(document.getElementById('new_window_height').value),
127 'url': document.getElementById('new_window_url').value
128 }
129
130 if (!isInt(args.left))
131 delete args.left;
132 if (!isInt(args.top))
133 delete args.top;
134 if (!isInt(args.width))
135 delete args.width;
136 if (!isInt(args.height))
137 delete args.height;
138 if (!args.url)
139 delete args.url;
140
141 chromium.tabs.createWindow(args);
142 }
143
92 </script> 144 </script>
93 </head> 145 </head>
94 <body onload="loadWindowList();"> 146 <body onload="loadWindowList();">
95 <div id="windowList"> 147 <div id="windowList">
96 <div style="background-color: #AAEEEE; margin: 4px; padding: 8px; margin: 20px" jsselect="$this"> 148 <div style="background-color: #AAEEEE; margin: 4px; padding: 8px; margin: 20px" jsselect="$this">
97 <div style="font-style: italic; width: 80px; display: inline-block"> 149 <div style="font-style: italic; width: 80px; display: inline-block">
98 Window: <span jscontent="id"></span> 150 Window: <span jscontent="id"></span>
99 </div> 151 </div>
100 <div style="display: inline-block"> 152 <div style="display: inline-block">
101 left: <input style="width: 60px" type="text" jsvalues="value:$this.lef t;id:'left_' + id" /> 153 left: <input style="width: 60px" type="text" jsvalues="value:$this.lef t;id:'left_' + id" />
(...skipping 22 matching lines...) Expand all
124 <input style="width: 90%" type="text" jsvalues="value:url;id:'ur l_' + id" /> 176 <input style="width: 90%" type="text" jsvalues="value:url;id:'ur l_' + id" />
125 </div> 177 </div>
126 <div><input type="checkbox" jsvalues="checked:selected; id:'select ed_' + id" /> Selected</div> 178 <div><input type="checkbox" jsvalues="checked:selected; id:'select ed_' + id" /> Selected</div>
127 </div> 179 </div>
128 <button onclick="updateTab(this.jstdata)" jsvalues=".jstdata:id">Upd ate Tab</button> 180 <button onclick="updateTab(this.jstdata)" jsvalues=".jstdata:id">Upd ate Tab</button>
129 <button onclick="chromium.tabs.removeTab(this.jstdata);" jsvalues=". jstdata:id">Close Tab</button> 181 <button onclick="chromium.tabs.removeTab(this.jstdata);" jsvalues=". jstdata:id">Close Tab</button>
130 </div> 182 </div>
131 </div> 183 </div>
132 </div> 184 </div>
133 </div> 185 </div>
186 <div style="background-color: #EEEEBB; margin: 20px; padding: 8px">
187 <h3 style="text-align: center; margin: 8px"> Create Window</h3>
188 <div style="margin: 8px">
189 <div style="width: 300px; display: inline-block">
190 left: <input style="width: 20px" type="text" id="new_window_left" />
191 top: <input style="width: 20px" type="text" id="new_window_top" />
192 width: <input style="width: 20px" type="text" id="new_window_width" />
193 height: <input style="width: 20px" type="text" id="new_window_height" />
194 </div>
195 </div>
196 <div style="margin: 8px">
197 <div>
198 <div style="width: 40px; display:inline-block">url:</div>
199 <input style="width: 90%" type="text" id="new_window_url" />
200 </div>
201 </div>
202 <button onclick="createWindow();">Create</button>
203 </div>
134 <div style="background-color: #EEEEAA; margin: 20px; padding: 8px"> 204 <div style="background-color: #EEEEAA; margin: 20px; padding: 8px">
135 <h3 style="text-align: center; margin: 8px"> Create Tab</h3> 205 <h3 style="text-align: center; margin: 8px"> Create Tab</h3>
136 <div style="margin: 8px"> 206 <div style="margin: 8px">
137 <div style="width: 300px; display: inline-block"> 207 <div style="width: 300px; display: inline-block">
138 index: <input style="width: 20px" type="text" id="index_new" /> 208 index: <input style="width: 20px" type="text" id="index_new" />
139 windowId: <input style="width: 20px" type="text" id="windowId_new" /> 209 windowId: <input style="width: 20px" type="text" id="windowId_new" />
140 <button onclick="moveTab(this.jstdata);" jsvalues=".jstdata:id">Move</ button> 210 <button onclick="moveTab(this.jstdata);" jsvalues=".jstdata:id">Move</ button>
141 </div> 211 </div>
142 </div> 212 </div>
143 <div style="margin: 8px"> 213 <div style="margin: 8px">
144 <div> 214 <div>
145 <div style="width: 40px; display:inline-block">title:</div> 215 <div style="width: 40px; display:inline-block">title:</div>
146 <input style="width: 90%" type="text" id="title_new" /> 216 <input style="width: 90%" type="text" id="title_new" />
147 </div> 217 </div>
148 <div> 218 <div>
149 <div style="width: 40px; display:inline-block">url:</div> 219 <div style="width: 40px; display:inline-block">url:</div>
150 <input style="width: 90%" type="text" id="url_new" /> 220 <input style="width: 90%" type="text" id="url_new" />
151 </div> 221 </div>
152 <div><input type="checkbox" id="selected_new" /> Selected</div> 222 <div><input type="checkbox" id="selected_new" /> Selected</div>
153 </div> 223 </div>
154 <button onclick="createTab();">Create</button> 224 <button onclick="createTab();">Create</button>
155 </div> 225 </div>
156 <div style="margin: 20px;"> 226 <div style="margin: 20px;">
157 <button onclick="loadWindowList();">Refresh</button> 227 <button onclick="loadWindowList();">Refresh</button>
158 <button onclick="updateAll();">Update All</button> 228 <button onclick="updateAll();">Update All</button>
159 <button onclick="moveAll();">Move All</button> 229 <button onclick="moveAll();">Move All</button>
160 <button onclick="clearLog();">-->Clear Log</button> 230 <button onclick="clearLog();">-->Clear Log</button>
231 <button onclick="chromium.tabs.createWindow();">New Window</button>
161 </div> 232 </div>
162 <div id="log" style="background-color: #EEAAEE; margin: 20px; padding: 8px"> 233 <div id="log" style="background-color: #EEAAEE; margin: 20px; padding: 8px">
163 </div> 234 </div>
164 </body> 235 </body>
165 </html> 236 </html>
166 237
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698