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 // Custom binding for the app_window API. | 5 // Custom binding for the app_window API. |
6 | 6 |
7 var appWindowNatives = requireNative('app_window_natives'); | 7 var appWindowNatives = requireNative('app_window_natives'); |
8 var runtimeNatives = requireNative('runtime'); | 8 var runtimeNatives = requireNative('runtime'); |
9 var Binding = require('binding').Binding; | 9 var Binding = require('binding').Binding; |
10 var Event = require('event_bindings').Event; | 10 var Event = require('event_bindings').Event; |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
234 }; | 234 }; |
235 AppWindow.prototype.isMinimized = function() { | 235 AppWindow.prototype.isMinimized = function() { |
236 return appWindowData.minimized; | 236 return appWindowData.minimized; |
237 }; | 237 }; |
238 AppWindow.prototype.isMaximized = function() { | 238 AppWindow.prototype.isMaximized = function() { |
239 return appWindowData.maximized; | 239 return appWindowData.maximized; |
240 }; | 240 }; |
241 AppWindow.prototype.isAlwaysOnTop = function() { | 241 AppWindow.prototype.isAlwaysOnTop = function() { |
242 return appWindowData.alwaysOnTop; | 242 return appWindowData.alwaysOnTop; |
243 }; | 243 }; |
| 244 AppWindow.prototype.alphaEnabled = function() { |
| 245 return appWindowData.alphaEnabled; |
| 246 } |
244 AppWindow.prototype.handleWindowFirstShownForTests = function(callback) { | 247 AppWindow.prototype.handleWindowFirstShownForTests = function(callback) { |
245 // This allows test apps to get have their callback run even if they | 248 // This allows test apps to get have their callback run even if they |
246 // call this after the first show has happened. | 249 // call this after the first show has happened. |
247 if (this.firstShowHasHappened) { | 250 if (this.firstShowHasHappened) { |
248 callback(); | 251 callback(); |
249 return; | 252 return; |
250 } | 253 } |
251 this.onWindowFirstShownForTests.addListener(callback); | 254 this.onWindowFirstShownForTests.addListener(callback); |
252 } | 255 } |
253 | 256 |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 minHeight: params.outerBounds.minHeight, | 297 minHeight: params.outerBounds.minHeight, |
295 maxWidth: params.outerBounds.maxWidth, | 298 maxWidth: params.outerBounds.maxWidth, |
296 maxHeight: params.outerBounds.maxHeight | 299 maxHeight: params.outerBounds.maxHeight |
297 }, | 300 }, |
298 fullscreen: params.fullscreen, | 301 fullscreen: params.fullscreen, |
299 minimized: params.minimized, | 302 minimized: params.minimized, |
300 maximized: params.maximized, | 303 maximized: params.maximized, |
301 alwaysOnTop: params.alwaysOnTop, | 304 alwaysOnTop: params.alwaysOnTop, |
302 hasFrameColor: params.hasFrameColor, | 305 hasFrameColor: params.hasFrameColor, |
303 activeFrameColor: params.activeFrameColor, | 306 activeFrameColor: params.activeFrameColor, |
304 inactiveFrameColor: params.inactiveFrameColor | 307 inactiveFrameColor: params.inactiveFrameColor, |
| 308 alphaEnabled: params.alphaEnabled |
305 }; | 309 }; |
306 currentAppWindow = new AppWindow; | 310 currentAppWindow = new AppWindow; |
307 }); | 311 }); |
308 }); | 312 }); |
309 | 313 |
310 function boundsEqual(bounds1, bounds2) { | 314 function boundsEqual(bounds1, bounds2) { |
311 if (!bounds1 || !bounds2) | 315 if (!bounds1 || !bounds2) |
312 return false; | 316 return false; |
313 return (bounds1.left == bounds2.left && bounds1.top == bounds2.top && | 317 return (bounds1.left == bounds2.left && bounds1.top == bounds2.top && |
314 bounds1.width == bounds2.width && bounds1.height == bounds2.height); | 318 bounds1.width == bounds2.width && bounds1.height == bounds2.height); |
(...skipping 26 matching lines...) Expand all Loading... |
341 dispatchEventIfExists(currentWindow, "onFullscreened"); | 345 dispatchEventIfExists(currentWindow, "onFullscreened"); |
342 if (!oldData.minimized && update.minimized) | 346 if (!oldData.minimized && update.minimized) |
343 dispatchEventIfExists(currentWindow, "onMinimized"); | 347 dispatchEventIfExists(currentWindow, "onMinimized"); |
344 if (!oldData.maximized && update.maximized) | 348 if (!oldData.maximized && update.maximized) |
345 dispatchEventIfExists(currentWindow, "onMaximized"); | 349 dispatchEventIfExists(currentWindow, "onMaximized"); |
346 | 350 |
347 if ((oldData.fullscreen && !update.fullscreen) || | 351 if ((oldData.fullscreen && !update.fullscreen) || |
348 (oldData.minimized && !update.minimized) || | 352 (oldData.minimized && !update.minimized) || |
349 (oldData.maximized && !update.maximized)) | 353 (oldData.maximized && !update.maximized)) |
350 dispatchEventIfExists(currentWindow, "onRestored"); | 354 dispatchEventIfExists(currentWindow, "onRestored"); |
| 355 |
| 356 if (oldData.alphaEnabled !== update.alphaEnabled) |
| 357 dispatchEventIfExists(currentWindow, "onAlphaEnabledChanged"); |
351 }; | 358 }; |
352 | 359 |
353 function onAppWindowShownForTests() { | 360 function onAppWindowShownForTests() { |
354 if (!currentAppWindow) | 361 if (!currentAppWindow) |
355 return; | 362 return; |
356 | 363 |
357 if (!currentAppWindow.firstShowHasHappened) | 364 if (!currentAppWindow.firstShowHasHappened) |
358 dispatchEventIfExists(currentAppWindow, "onWindowFirstShownForTests"); | 365 dispatchEventIfExists(currentAppWindow, "onWindowFirstShownForTests"); |
359 | 366 |
360 currentAppWindow.firstShowHasHappened = true; | 367 currentAppWindow.firstShowHasHappened = true; |
(...skipping 24 matching lines...) Expand all Loading... |
385 constraints[key] = 0; | 392 constraints[key] = 0; |
386 }); | 393 }); |
387 | 394 |
388 currentWindowInternal.setSizeConstraints(boundsType, constraints); | 395 currentWindowInternal.setSizeConstraints(boundsType, constraints); |
389 } | 396 } |
390 | 397 |
391 exports.binding = appWindow.generate(); | 398 exports.binding = appWindow.generate(); |
392 exports.onAppWindowClosed = onAppWindowClosed; | 399 exports.onAppWindowClosed = onAppWindowClosed; |
393 exports.updateAppWindowProperties = updateAppWindowProperties; | 400 exports.updateAppWindowProperties = updateAppWindowProperties; |
394 exports.appWindowShownForTests = onAppWindowShownForTests; | 401 exports.appWindowShownForTests = onAppWindowShownForTests; |
OLD | NEW |