| 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; |
| 11 var forEach = require('utils').forEach; | 11 var forEach = require('utils').forEach; |
| 12 var renderViewObserverNatives = requireNative('renderViewObserverNatives'); | 12 var renderFrameObserverNatives = requireNative('renderFrameObserverNatives'); |
| 13 | 13 |
| 14 var appWindowData = null; | 14 var appWindowData = null; |
| 15 var currentAppWindow = null; | 15 var currentAppWindow = null; |
| 16 var currentWindowInternal = null; | 16 var currentWindowInternal = null; |
| 17 | 17 |
| 18 var kSetBoundsFunction = 'setBounds'; | 18 var kSetBoundsFunction = 'setBounds'; |
| 19 var kSetSizeConstraintsFunction = 'setSizeConstraints'; | 19 var kSetSizeConstraintsFunction = 'setSizeConstraints'; |
| 20 | 20 |
| 21 // Bounds class definition. | 21 // Bounds class definition. |
| 22 var Bounds = function(boundsKey) { | 22 var Bounds = function(boundsKey) { |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 | 111 |
| 112 var appWindow = Binding.create('app.window'); | 112 var appWindow = Binding.create('app.window'); |
| 113 appWindow.registerCustomHook(function(bindingsAPI) { | 113 appWindow.registerCustomHook(function(bindingsAPI) { |
| 114 var apiFunctions = bindingsAPI.apiFunctions; | 114 var apiFunctions = bindingsAPI.apiFunctions; |
| 115 | 115 |
| 116 apiFunctions.setCustomCallback('create', | 116 apiFunctions.setCustomCallback('create', |
| 117 function(name, request, callback, windowParams) { | 117 function(name, request, callback, windowParams) { |
| 118 var view = null; | 118 var view = null; |
| 119 | 119 |
| 120 // When window creation fails, |windowParams| will be undefined. | 120 // When window creation fails, |windowParams| will be undefined. |
| 121 if (windowParams && windowParams.viewId) { | 121 if (windowParams && windowParams.frameId) { |
| 122 view = appWindowNatives.GetView( | 122 view = appWindowNatives.GetFrame( |
| 123 windowParams.viewId, windowParams.injectTitlebar); | 123 windowParams.frameId, windowParams.injectTitlebar); |
| 124 } | 124 } |
| 125 | 125 |
| 126 if (!view) { | 126 if (!view) { |
| 127 // No route to created window. If given a callback, trigger it with an | 127 // No route to created window. If given a callback, trigger it with an |
| 128 // undefined object. | 128 // undefined object. |
| 129 if (callback) | 129 if (callback) |
| 130 callback(); | 130 callback(); |
| 131 return; | 131 return; |
| 132 } | 132 } |
| 133 | 133 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 153 console.warn(sandbox_window_message); | 153 console.warn(sandbox_window_message); |
| 154 } | 154 } |
| 155 | 155 |
| 156 if (callback) { | 156 if (callback) { |
| 157 if (!view || !view.chrome.app /* sandboxed window */) { | 157 if (!view || !view.chrome.app /* sandboxed window */) { |
| 158 callback(undefined); | 158 callback(undefined); |
| 159 return; | 159 return; |
| 160 } | 160 } |
| 161 | 161 |
| 162 var willCallback = | 162 var willCallback = |
| 163 renderViewObserverNatives.OnDocumentElementCreated( | 163 renderFrameObserverNatives.OnDocumentElementCreated( |
| 164 windowParams.viewId, | 164 windowParams.frameId, |
| 165 function(success) { | 165 function(success) { |
| 166 if (success) { | 166 if (success) { |
| 167 callback(view.chrome.app.window.current()); | 167 callback(view.chrome.app.window.current()); |
| 168 } else { | 168 } else { |
| 169 callback(undefined); | 169 callback(undefined); |
| 170 } | 170 } |
| 171 }); | 171 }); |
| 172 if (!willCallback) { | 172 if (!willCallback) { |
| 173 callback(undefined); | 173 callback(undefined); |
| 174 } | 174 } |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 401 constraints[key] = 0; | 401 constraints[key] = 0; |
| 402 }); | 402 }); |
| 403 | 403 |
| 404 currentWindowInternal.setSizeConstraints(boundsType, constraints); | 404 currentWindowInternal.setSizeConstraints(boundsType, constraints); |
| 405 } | 405 } |
| 406 | 406 |
| 407 exports.binding = appWindow.generate(); | 407 exports.binding = appWindow.generate(); |
| 408 exports.onAppWindowClosed = onAppWindowClosed; | 408 exports.onAppWindowClosed = onAppWindowClosed; |
| 409 exports.updateAppWindowProperties = updateAppWindowProperties; | 409 exports.updateAppWindowProperties = updateAppWindowProperties; |
| 410 exports.appWindowShownForTests = onAppWindowShownForTests; | 410 exports.appWindowShownForTests = onAppWindowShownForTests; |
| OLD | NEW |