OLD | NEW |
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 Loading... |
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> > ' + logLine + '</div>' + log.innerHTML; | 80 log.innerHTML = '<div> > ' + 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 Loading... |
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 |
OLD | NEW |