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