<!doctype html>
<head>
<script>
// Note define() defines a module in the mojo module dependency
// system. While we don't expose our module, the callback below only
// fires after the requested modules have been loaded.
define([
    'headless/lib/embedder_test.mojom',
    'mojo/public/js/core',
    'mojo/public/js/router',
    'content/public/renderer/frame_interfaces',
    ], function(embedderMojom, mojoCore, routerModule,
                frameInterfaces) {
  var testEmbedderService =
      new embedderMojom.TestEmbedderService.proxyClass(
          new routerModule.Router(
              frameInterfaces.getInterface(
                  embedderMojom.TestEmbedderService.name)));

  // Send a message to the embedder!
  testEmbedderService.returnTestResult('page two');
});
</script>
</head>
<body><h1>Page two</h1></body>
