| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 define([ | 5 define([ |
| 6 'console', | 6 'console', |
| 7 'monotonic_clock', | 7 'monotonic_clock', |
| 8 'timer', | 8 'timer', |
| 9 'mojo/public/js/bindings/connection', | 9 'mojo/public/js/bindings/connection', |
| 10 'mojo/public/js/bindings/core', | 10 'mojo/public/js/bindings/core', |
| 11 'mojo/apps/js/bindings/gl', | 11 'mojo/apps/js/bindings/gl', |
| 12 'mojo/apps/js/bindings/threading', | 12 'mojo/apps/js/bindings/threading', |
| 13 'mojo/services/native_viewport/native_viewport.mojom', | 13 'mojo/services/native_viewport/native_viewport.mojom', |
| 14 'mojo/public/interfaces/service_provider/service_provider.mojom', | 14 'mojo/public/interfaces/shell/shell.mojom', |
| 15 ], function(console, | 15 ], function(console, |
| 16 monotonicClock, | 16 monotonicClock, |
| 17 timer, | 17 timer, |
| 18 connection, | 18 connection, |
| 19 core, | 19 core, |
| 20 gljs, | 20 gljs, |
| 21 threading, | 21 threading, |
| 22 nativeViewport, | 22 nativeViewport, |
| 23 service_provider) { | 23 shell) { |
| 24 | 24 |
| 25 const VERTEX_SHADER_SOURCE = [ | 25 const VERTEX_SHADER_SOURCE = [ |
| 26 'uniform mat4 u_mvpMatrix;', | 26 'uniform mat4 u_mvpMatrix;', |
| 27 'attribute vec4 a_position;', | 27 'attribute vec4 a_position;', |
| 28 'void main()', | 28 'void main()', |
| 29 '{', | 29 '{', |
| 30 ' gl_Position = u_mvpMatrix * a_position;', | 30 ' gl_Position = u_mvpMatrix * a_position;', |
| 31 '}' | 31 '}' |
| 32 ].join('\n'); | 32 ].join('\n'); |
| 33 | 33 |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 269 gl.bindBuffer(gl.ARRAY_BUFFER, 0); | 269 gl.bindBuffer(gl.ARRAY_BUFFER, 0); |
| 270 | 270 |
| 271 vboIndices = gl.createBuffer(); | 271 vboIndices = gl.createBuffer(); |
| 272 gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, vboIndices); | 272 gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, vboIndices); |
| 273 gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, cubeIndices, gl.STATIC_DRAW); | 273 gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, cubeIndices, gl.STATIC_DRAW); |
| 274 gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, 0); | 274 gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, 0); |
| 275 | 275 |
| 276 return cubeIndices.length; | 276 return cubeIndices.length; |
| 277 } | 277 } |
| 278 | 278 |
| 279 function SampleApp(service_provider) { | 279 function SampleApp(shell) { |
| 280 this.service_provider_ = service_provider; | 280 this.shell_ = shell; |
| 281 | 281 |
| 282 var pipe = new core.createMessagePipe(); | 282 var pipe = new core.createMessagePipe(); |
| 283 this.service_provider_.connect('mojo:mojo_native_viewport_service', | 283 this.shell_.connect('mojo:mojo_native_viewport_service', pipe.handle1); |
| 284 pipe.handle1); | |
| 285 new connection.Connection(pipe.handle0, NativeViewportClientImpl, | 284 new connection.Connection(pipe.handle0, NativeViewportClientImpl, |
| 286 nativeViewport.NativeViewportProxy); | 285 nativeViewport.NativeViewportProxy); |
| 287 } | 286 } |
| 288 // TODO(aa): It is a bummer to need this stub object in JavaScript. We should | 287 // TODO(aa): It is a bummer to need this stub object in JavaScript. We should |
| 289 // have a 'client' object that contains both the sending and receiving bits of | 288 // have a 'client' object that contains both the sending and receiving bits of |
| 290 // the client side of the interface. Since JS is loosely typed, we do not need | 289 // the client side of the interface. Since JS is loosely typed, we do not need |
| 291 // a separate base class to inherit from to receive callbacks. | 290 // a separate base class to inherit from to receive callbacks. |
| 292 SampleApp.prototype = | 291 SampleApp.prototype = Object.create(shell.ShellClientStub.prototype); |
| 293 Object.create(service_provider.ServiceProviderStub.prototype); | |
| 294 | 292 |
| 295 | 293 |
| 296 function NativeViewportClientImpl(remote) { | 294 function NativeViewportClientImpl(remote) { |
| 297 this.remote_ = remote; | 295 this.remote_ = remote; |
| 298 | 296 |
| 299 var pipe = core.createMessagePipe(); | 297 var pipe = core.createMessagePipe(); |
| 300 | 298 |
| 301 var rect = new nativeViewport.Rect; | 299 var rect = new nativeViewport.Rect; |
| 302 rect.position = new nativeViewport.Point; | 300 rect.position = new nativeViewport.Point; |
| 303 rect.size = new nativeViewport.Size; | 301 rect.size = new nativeViewport.Size; |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 385 GLES2ClientImpl.prototype.getRotationForTimeDelta = function(secondsDelta) { | 383 GLES2ClientImpl.prototype.getRotationForTimeDelta = function(secondsDelta) { |
| 386 return secondsDelta * 40; | 384 return secondsDelta * 40; |
| 387 }; | 385 }; |
| 388 | 386 |
| 389 GLES2ClientImpl.prototype.contextLost = function() { | 387 GLES2ClientImpl.prototype.contextLost = function() { |
| 390 console.log('GLES2ClientImpl.prototype.contextLost'); | 388 console.log('GLES2ClientImpl.prototype.contextLost'); |
| 391 }; | 389 }; |
| 392 | 390 |
| 393 | 391 |
| 394 return function(handle) { | 392 return function(handle) { |
| 395 new connection.Connection( | 393 new connection.Connection(handle, SampleApp, shell.ShellProxy); |
| 396 handle, SampleApp, service_provider.ServiceProviderProxy); | |
| 397 }; | 394 }; |
| 398 }); | 395 }); |
| OLD | NEW |