15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Called by the common.js module.
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function moduleDidLoad() {
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The module is not hidden by default so we can easily see if the plugin
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // failed to load.
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  common.hideModule();
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Called by the common.js module.
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function attachListeners() {
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  document.getElementById('button').addEventListener('click', loadUrl);
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function loadUrl() {
18eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  common.naclModule.postMessage('getUrl:url_loader_success.html');
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Called by the common.js module.
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function handleMessage(message_event) {
234e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  var logEl = document.getElementById('output');
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Find the first line break.  This separates the URL data from the
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // result text.  Note that the result text can contain any number of
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // '\n' characters, so split() won't work here.
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var url = message_event.data;
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var result = '';
294e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  var eolPos = message_event.data.indexOf('\n');
304e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  if (eolPos != -1) {
314e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)    url = message_event.data.substring(0, eolPos);
324e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)    if (eolPos < message_event.data.length - 1) {
334e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)      result = message_event.data.substring(eolPos + 1);
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    }
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
364e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  logEl.textContent += 'FULLY QUALIFIED URL: ' + url + '\n';
374e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  logEl.textContent += 'RESULT:\n' + result + '\n';
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
39