9f676af9bb
NB: this diff is best viewed with --ignore-whitespace Distills crypto.js down to the hard cryptoey bones. It pulls from webcrypto for aes and hmac, and from native client for curve25519 stuff or potentially another object implementing the handful of needed curve25519 functions. Everything else formerly known as crypto, including session storage and management, axolotl, etc.. is now protocol.js. The separation is not quite perfect, but it's a big step. nativeclient.js now enables talking to the native client module through a high level interface as well as registering callbacks that will be executed once the module is loaded. And it has tests! Finally, this commit removes all references to the "testing_only" object, preferring to run tests on textsecure.crypto instead.
165 lines
8.1 KiB
HTML
165 lines
8.1 KiB
HTML
<!DOCTYPE html>
|
|
<html class='no-js' lang='en'>
|
|
<head>
|
|
<meta charset='utf-8'>
|
|
<meta content='width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0' name='viewport'>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<title>
|
|
Signal for Chrome
|
|
</title>
|
|
<meta name="description" content="">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link href='/favicon.ico' rel='shortcut icon'>
|
|
<link href="/stylesheets/normalize.css" rel="stylesheet" type="text/css" />
|
|
<link href="/stylesheets/manifest.css" rel="stylesheet" type="text/css" />
|
|
<link href="/components/bootstrap-tagsinput/dist/bootstrap-tagsinput.css" rel="stylesheet" type="text/css" />
|
|
<link href="/stylesheets/index.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body class='signal index' data-name="curve25519" data-tools="pnacl" data-configs="Debug Release" data-path="nacl/pnacl/{config}">
|
|
<div class='title-bar' id='header'>
|
|
<a href id='new-message'>New message</a>
|
|
<a href id='new-group'>New group</a>
|
|
</div>
|
|
<div class='notifications'>
|
|
<div class='notification info'>
|
|
</div>
|
|
</div>
|
|
<div id='gutter' class='gutter'>
|
|
<div class='search'>
|
|
<form>
|
|
<input name='contact_search' placeholder='Search' type='search'>
|
|
</form>
|
|
</div>
|
|
<div id='contacts'></div>
|
|
</div>
|
|
<script type='text/x-tmpl-mustache' id='conversation'>
|
|
<div class='discussion-container'></div>
|
|
<div class='send-message-area'>
|
|
<div class='message-composer'>
|
|
<form class='send'>
|
|
<input class='send-message' rows='6' type='textarea'>
|
|
<div class='attachments'>
|
|
<input type='file' name='files[]' multiple class='file-input'>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div class='extension-details'>
|
|
<ul>
|
|
<li>Signal for Chrome</li>
|
|
<li><a href="https://github.com/whispersystems">Version 0.1</a></li>
|
|
<li>by <a href="http://whispersystems.org">Open Whisper Systems</a></li>
|
|
<li><a href="http://support.whispersystems.org/">Need Help?</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</script>
|
|
<script type='text/x-tmpl-mustache' id='message'>
|
|
<div class='sender'>{{ sender }}</div>
|
|
<img class='avatar' src='{{ contact_avatar }}'>
|
|
<div class='bubble bubble_context {{ bubble_class }}'>
|
|
<ul class='volley'>
|
|
<li class='message'>
|
|
{{ message }}
|
|
</li>
|
|
</ul>
|
|
{{#attachments}}
|
|
<img src={{.}}>
|
|
{{/attachments}}
|
|
</div>
|
|
</script>
|
|
<script type='text/x-tmpl-mustache' id='contact'>
|
|
<div class='avatar' style='background-image: url({{ contact_avatar }});'></div>
|
|
<div class='contact-details'>
|
|
<h3>
|
|
{{ contact_name }}
|
|
</h3>
|
|
<p class='last-message'>
|
|
{{ last_message }}
|
|
</p>
|
|
<span class='last-timestamp'>
|
|
{{ last_message_timestamp }}
|
|
</span>
|
|
</div>
|
|
</script>
|
|
<script type='text/x-tmpl-mustache' id='new-message-form'>
|
|
<form class='send message'>
|
|
<input type='text' name='number' class='number' placeholder='Phone number'>
|
|
<div class='send-message-area'>
|
|
<div class='message-composer'>
|
|
<input name='message' class='send-message' rows='6' type='textarea'>
|
|
<div class='attachments'>
|
|
<input type='file' name='files[]' multiple class='file-input'>
|
|
</div>
|
|
<input type='submit'>
|
|
</div>
|
|
<div class='extension-details'>
|
|
<ul>
|
|
<li>Signal for Chrome</li>
|
|
<li><a href="https://github.com/whispersystems">Version 0.1</a></li>
|
|
<li>by <a href="http://whispersystems.org">Open Whisper Systems</a></li>
|
|
<li><a href="http://support.whispersystems.org/">Need Help?</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</script>
|
|
<script type='text/x-tmpl-mustache' id='new-group-form'>
|
|
<form class='send group'>
|
|
<div><input name='name' class='name' placeholder='Group Name'></div>
|
|
<div><input name='numbers' class='numbers' data-role=tagsinput></div>
|
|
<div class='send-message-area'>
|
|
<div class='message-composer'>
|
|
<input class='send-message' rows='6' type='textarea'>
|
|
<div class='attachments'> Add Files </div>
|
|
<input type='submit'>
|
|
</div>
|
|
<div class='extension-details'>
|
|
<ul>
|
|
<li>Signal for Chrome</li>
|
|
<li><a href="https://github.com/whispersystems">Version 0.1</a></li>
|
|
<li>by <a href="http://whispersystems.org">Open Whisper Systems</a></li>
|
|
<li><a href="http://support.whispersystems.org/">Need Help?</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</script>
|
|
<script type="text/javascript" src="js-deps/nacl-common.js"></script>
|
|
<script type="text/javascript" src="js-deps/CryptoJS.js"></script>
|
|
<script type="text/javascript" src="js-deps/curve255.js"></script>
|
|
<script type="text/javascript" src="js/components.js"></script>
|
|
<script type="text/javascript" src="components/bootstrap-tagsinput/dist/bootstrap-tagsinput.js"></script>
|
|
|
|
<script type="text/javascript" src="js/protobufs.js"></script>
|
|
<script type="text/javascript" src="js/nativeclient.js"></script>
|
|
<script type="text/javascript" src="js/helpers.js"></script>
|
|
<script type="text/javascript" src="js/storage.js"></script>
|
|
<script type="text/javascript" src="js/storage/devices.js"></script>
|
|
<script type="text/javascript" src="js/storage/groups.js"></script>
|
|
<script type="text/javascript" src="js/libphonenumber-util.js"></script>
|
|
|
|
<script type="text/javascript" src="js/webcrypto.js"></script>
|
|
<script type="text/javascript" src="js/crypto.js"></script>
|
|
<script type="text/javascript" src="js/protocol.js"></script>
|
|
|
|
<script type="text/javascript" src="js/models/messages.js"></script>
|
|
<script type="text/javascript" src="js/models/threads.js"></script>
|
|
<script type="text/javascript" src="js/api.js"></script>
|
|
<script type="text/javascript" src="js/sendmessage.js"></script>
|
|
|
|
<script type="text/javascript" src="js/chromium.js"></script>
|
|
<script type="text/javascript" src="js/views/notifications.js"></script>
|
|
<script type="text/javascript" src="js/views/file_input_view.js"></script>
|
|
<script type="text/javascript" src="js/views/list_view.js"></script>
|
|
<script type="text/javascript" src="js/views/message_view.js"></script>
|
|
<script type="text/javascript" src="js/views/message_list_view.js"></script>
|
|
<script type="text/javascript" src="js/views/conversation_list_item_view.js"></script>
|
|
<script type="text/javascript" src="js/views/conversation_list_view.js"></script>
|
|
<script type="text/javascript" src="js/views/conversation_view.js"></script>
|
|
<script type="text/javascript" src="js/views/new_conversation_view.js"></script>
|
|
<script type="text/javascript" src="js/views/new_group_view.js"></script>
|
|
<script type="text/javascript" src="js/index.js"></script>
|
|
<div id="listener"></div>
|
|
<div id="log"></div>
|
|
</body>
|
|
</html>
|