3 * Copyright 2013 The Chromium Authors. All rights reserved. Use of this
4 * source code is governed by a BSD-style license that can be found in the
9 <script type="text/javascript">
10 // A guest that has overridden user agent string.
11 // Note that the embedder has to initiate a postMessage first so that
12 // the guest has a reference to the embedder's window.
14 // The window reference of the embedder to send post message reply.
15 var embedderWindowChannel = null;
17 var notifyEmbedder = function(msg_array) {
18 embedderWindowChannel.postMessage(JSON.stringify(msg_array), '*');
21 var onPostMessageReceived = function(e) {
22 embedderWindowChannel = e.source;
23 var data = JSON.parse(e.data);
24 if (data[0] == 'create-channel') {
25 notifyEmbedder(['channel-created']);
30 // These logs trigger event listeners in the embedder.
32 case 'get-user-agent':
33 notifyEmbedder(['got-user-agent', navigator.userAgent]);
39 window.addEventListener('message', onPostMessageReceived, false);
43 <div>Guest that sends its user agent string to embedder.</div>