diff options
Diffstat (limited to 'platform/nacl/html/index.html')
-rw-r--r-- | platform/nacl/html/index.html | 258 |
1 files changed, 0 insertions, 258 deletions
diff --git a/platform/nacl/html/index.html b/platform/nacl/html/index.html deleted file mode 100644 index e8be6f69b9..0000000000 --- a/platform/nacl/html/index.html +++ /dev/null @@ -1,258 +0,0 @@ -<!DOCTYPE html> -<html> - <!-- - Copyright (c) 2011 The Native Client Authors. All rights reserved. - Use of this source code is governed by a BSD-style license that can be - found in the LICENSE file. - --> -<head> - <title>Load Progress Example</title> - <script type="text/javascript" src="check_browser.js"></script> - <script type="text/javascript"> - // Check for Native Client support in the browser before the DOM loads. - var isValidBrowser = false; - var browserSupportStatus = 0; - var checker = new browser_version.BrowserChecker( - 14, // Minumum Chrome version. - navigator["appVersion"], - navigator["plugins"]); - checker.checkBrowser(); - - loadProgressModule = null; // Global application object. - statusText = 'NO-STATUS'; - - isValidBrowser = checker.getIsValidBrowser(); - browserSupportStatus = checker.getBrowserSupportStatus(); - - // Handler that gets called when the NaCl module starts loading. This - // event is always triggered when an <EMBED> tag has a MIME type of - // application/x-nacl. - function moduleDidStartLoad() { - appendToEventLog('loadstart'); - } - - // Progress event handler. |event| contains a couple of interesting - // properties that are used in this example: - // total The size of the NaCl module in bytes. Note that this value - // is 0 until |lengthComputable| is true. In particular, this - // value is 0 for the first 'progress' event. - // loaded The number of bytes loaded so far. - // lengthComputable A boolean indicating that the |total| field - // represents a valid length. - // - // event The ProgressEvent that triggered this handler. - function moduleLoadProgress(event) { - var loadPercent = 0.0; - var loadPercentString; - if (event.lengthComputable && event.total > 0) { - loadPercent = event.loaded / event.total * 100.0; - loadPercentString = loadPercent + '%'; - } else { - // The total length is not yet known. - loadPercent = -1.0; - loadPercentString = 'Computing...'; - } - //appendToEventLog('progress: ' + loadPercentString + ' (' + event.loaded + ' of ' + event.total + ' bytes)'); - updateStatus("Loading module : "+ Math.floor(event.loaded / event.total * 100.0) + "% complete"); - } - - // Handler that gets called if an error occurred while loading the NaCl - // module. Note that the event does not carry any meaningful data about - // the error, you have to check lastError on the <EMBED> element to find - // out what happened. - function moduleLoadError() { - appendToEventLog('error: ' + loadProgressModule.lastError); - } - - // Handler that gets called if the NaCl module load is aborted. - function moduleLoadAbort() { - appendToEventLog('abort'); - } - - // When the NaCl module has loaded indicate success. - function moduleDidLoad() { - loadProgressModule = document.getElementById('load_progress'); - appendToEventLog('load'); - updateStatus('SUCCESS'); - } - - function check_dl_status() { - var module = document.getElementById('load_progress'); - module.postMessage("get_package_status"); - module.postMessage(0); - }; - - // Handler that gets called when the NaCl module loading has completed. - // You will always get one of these events, regardless of whether the NaCl - // module loaded successfully or not. For example, if there is an error - // during load, you will get an 'error' event and a 'loadend' event. Note - // that if the NaCl module loads successfully, you will get both a 'load' - // event and a 'loadend' event. - function moduleDidEndLoad() { - appendToEventLog('loadend'); - var lastError = event.target.lastError; - if (lastError == undefined || lastError.length == 0) { - lastError = '<none>'; - window.setTimeout(check_dl_status, 1000); - } - appendToEventLog('lastError: ' + lastError); - } - - - // Handle a message coming from the NaCl module. - function handleMessage(message_event) { - var data = message_event.data; - if (data == "loaded") { - updateStatus("Data Loaded!"); - } else if (data == "none") { - // nothing - updateStatus("Downloading package: connecting"); - window.setTimeout(check_dl_status, 1000); - } else { - updateStatus("Downloading package: " + data + " bytes"); - window.setTimeout(check_dl_status, 1000); - }; - } - - // Set the global status message. Updates the 'status_field' element with - // the new text. - // opt_message The message text. If this is null or undefined, then - // attempt to set the element with id 'status_field' to the value of - // |statusText|. - function updateStatus(opt_message) { - if (opt_message) - statusText = opt_message; - var statusField = document.getElementById('status_field'); - if (statusField) { - statusField.innerHTML = statusText; - } - } - - // Append an event name to the 'event_log_field' element. Event names - // are separated by a <br> tag so they get listed one per line. - // logMessage The message to append to the log. - function appendToEventLog(logMessage) { - var eventLogField = document.getElementById('event_log_field'); - if (eventLogField.innerHTML.length == 0) { - eventLogField.innerHTML = logMessage; - } else { - eventLogField.innerHTML = eventLogField.innerHTML + - '<br />' + - logMessage; - } - } - - </script> -</head> -<body bgcolor=#000000> - -<font color=#FFFFFF> - -<h1>Native Client Load Event Example</h1> - -<h2>Status</h2> -<div id="status_field">NO-STATUS</div> - -<div id="listener"> - <script type="text/javascript"> - var listener = document.getElementById('listener'); - listener.addEventListener('loadstart', moduleDidStartLoad, true); - listener.addEventListener('progress', moduleLoadProgress, true); - listener.addEventListener('error', moduleLoadError, true); - listener.addEventListener('abort', moduleLoadAbort, true); - listener.addEventListener('load', moduleDidLoad, true); - listener.addEventListener('loadend', moduleDidEndLoad, true); - listener.addEventListener('message', handleMessage, true); - - switch (browserSupportStatus) { - case browser_version.BrowserChecker.StatusValues.NACL_ENABLED: - appendToEventLog('Native Client plugin enabled.'); - break; - case browser_version.BrowserChecker.StatusValues.UNKNOWN_BROWSER: - updateStatus('UNKNOWN BROWSER'); - break; - case browser_version.BrowserChecker.StatusValues.CHROME_VERSION_TOO_OLD: - appendToEventLog( - 'Chrome too old: You must use Chrome version 14 or later.'); - updateStatus('NEED CHROME 14 OR LATER'); - break; - case browser_version.BrowserChecker.StatusValues.NACL_NOT_ENABLED: - appendToEventLog( - 'NaCl disabled: Native Client is not enabled.<br>' + - 'Please go to <b>chrome://plugins</b> and enable Native Client ' + - 'plugin.'); - updateStatus('NaCl NOT ENABLED'); - break; - case browser_version.BrowserChecker.StatusValues.NOT_USING_SERVER: - appendToEventLog( - 'file: URL detected, please use a web server to host Native ' + - 'Client applications.'); - updateStatus('NaCl NOT ENABLED'); - default: - appendToEventLog('Unknown error: Unable to detect browser and/or ' + - 'Native Client support.'); - updateStatus('UNKNOWN ERROR'); - break; - } - </script> - - <!-- Load the published .nexe. This includes the 'src' attribute which - shows how to load multi-architecture modules. Each entry in the "nexes" - object in the .nmf manifest file is a key-value pair: the key is the runtime - ('x86-32', 'x86-64', etc.); the value is a URL for the desired NaCl module. - To load the debug versions of your .nexes, set the 'src' attribute to the - _dbg.nmf version of the manifest file. - - Note: The <EMBED> element is wrapped inside a <DIV>, which has both a 'load' - and a 'message' event listener attached. This wrapping method is used - instead of attaching the event listeners directly to the <EMBED> element to - ensure that the listeners are active before the NaCl module 'load' event - fires. This also allows you to use PPB_Messaging.PostMessage() (in C) or - pp::Instance.PostMessage() (in C++) from within the initialization code in - your NaCl module. - --> - <embed name="nacl_module" - id="load_progress" - width=1024 height=600 - src="godot_nacl.nmf" - type="application/x-nacl" - package="data.pcz" - arg1="-path" arg2="." - no_arg1="-test" no_arg2="gui" /> - - <script type="text/javascript"> - loadProgressModule = document.getElementById('load_progress'); - // Futher diagnose NaCl loading. - if (loadProgressModule == null || - typeof loadProgressModule.readyState == 'undefined') { - switch (browserSupportStatus) { - case browser_version.BrowserChecker.StatusValues.NACL_ENABLED: - // The NaCl plugin is enabled and running, it's likely that the flag - // isn't set. - appendToEventLog( - 'NaCl flag disabled: The Native Client flag is not enabled.<br>' + - 'Please go to <b>chrome://flags</b> enable Native Client and ' + - 'relaunch your browser. See also: ' + - '<a href="http://code.google.com/chrome/nativeclient/docs/' + - 'running.html">Running Web Applications that Use Native Client' + - '</a>'); - updateStatus('NaCl NOT ENABLED'); - break; - case browser_version.BrowserChecker.StatusValues.UNKNOWN_BROWSER: - appendToEventLog('Native Client applications are not supported by ' + - 'this browser.'); - break; - default: - appendToEventLog('Unknown error when loading Native Client ' + - 'application.'); - } - } - </script> -</div> - -<h2>Event Log</h2> -<div id="event_log_field">event log?</div> - -</body> -</html> - |