| #!mojo mojo:js_content_handler | 
 |  | 
 | define("main", [ | 
 |   "mojo/services/public/js/application", | 
 |   "mojo/public/js/core", | 
 |   "mojo/services/network/public/interfaces/network_service.mojom", | 
 |   "mojo/services/network/public/interfaces/url_loader.mojom", | 
 |   "services/js/test/network_test_service.mojom", | 
 | ], function(application, | 
 |             core, | 
 |             networkServiceMojom, | 
 |             urlLoaderMojom, | 
 |             networkTestServiceMojom) { | 
 |  | 
 |   const Application = application.Application; | 
 |   const NetworkService = networkServiceMojom.NetworkService; | 
 |   const URLRequest = urlLoaderMojom.URLRequest; | 
 |   const NetworkTestService = networkTestServiceMojom.NetworkTestService; | 
 |  | 
 |   class NetworkTestServiceImpl { | 
 |     constructor(app) { | 
 |       this.app = app; | 
 |       var netService = app.shell.connectToService( | 
 |           "mojo:network_service", NetworkService); | 
 |       var urlLoader; | 
 |       netService.createURLLoader(function(x){urlLoader = x;}); | 
 |       this.urlLoader = urlLoader; | 
 |     } | 
 |  | 
 |     getFileSize(url) { | 
 |       var impl = this; | 
 |       return new Promise(function(resolve) { | 
 |         var urlRequest = new URLRequest({ | 
 |           url: url, | 
 |           method: "GET", | 
 |           auto_follow_redirects: true | 
 |         }); | 
 |         impl.urlLoader.start(urlRequest).then(function(result) { | 
 |           core.drainData(result.response.body).then( | 
 |             function(result) { | 
 |               resolve({ok: true, size: result.buffer.byteLength}); | 
 |             }); | 
 |         }).catch(function() { | 
 |           resolve({ok: false}); | 
 |         }); | 
 |       }); | 
 |     } | 
 |  | 
 |     quit() { | 
 |       this.app.quit(); | 
 |     } | 
 |   } | 
 |  | 
 |   class NetworkTest extends Application { | 
 |     acceptConnection(url, serviceProvider) { | 
 |       serviceProvider.provideService( | 
 |           NetworkTestService, | 
 |           NetworkTestServiceImpl.bind(null, this)); | 
 |     } | 
 |   } | 
 |  | 
 |   return NetworkTest; | 
 | }); |