• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!doctype html>
2<!--
3Copyright (c) 2012 The Chromium Authors. All rights reserved.
4Use of this source code is governed by a BSD-style license that can be
5found in the LICENSE file.
6-->
7
8<html class="scrollable">
9  <head>
10    <meta charset="utf-8">
11    <link rel="icon" type="image/png" href="chromoting16.webp">
12    <link rel="stylesheet" href="open_sans.css">
13    <link rel="stylesheet" href="connection_stats.css">
14    <link rel="stylesheet" href="connection_history.css">
15    <link rel="stylesheet" href="main.css">
16    <link rel="stylesheet" href="menu_button.css">
17    <link rel="stylesheet" href="toolbar.css">
18    <script src="butter_bar.js"></script>
19    <script src="client_plugin.js"></script>
20    <script src="client_plugin_async.js"></script>
21    <script src="client_screen.js"></script>
22    <script src="client_session.js"></script>
23    <script src="clipboard.js"></script>
24    <script src="connection_history.js"></script>
25    <script src="connection_stats.js"></script>
26    <script src="error.js"></script>
27    <script src="event_handlers.js"></script>
28    <script src="format_iq.js"></script>
29    <script src="host.js"></script>
30    <script src="host_controller.js"></script>
31    <script src="host_dispatcher.js"></script>
32    <script src="host_list.js"></script>
33    <script src="host_native_messaging.js"></script>
34    <script src="host_screen.js"></script>
35    <script src="host_session.js"></script>
36    <script src="host_settings.js"></script>
37    <script src="host_setup_dialog.js"></script>
38    <script src="host_table_entry.js"></script>
39    <script src="identity.js"></script>
40    <script src="l10n.js"></script>
41    <script src="log_to_server.js"></script>
42    <script src="menu_button.js"></script>
43    <script src="oauth2.js"></script>
44    <script src="oauth2_api.js"></script>
45    <script src="paired_client_manager.js"></script>
46    <script src="plugin_settings.js"></script>
47    <script src="remoting.js"></script>
48    <script src="server_log_entry.js"></script>
49    <script src="session_connector.js"></script>
50    <script src="stats_accumulator.js"></script>
51    <script src="third_party_host_permissions.js"></script>
52    <script src="third_party_token_fetcher.js"></script>
53    <script src="toolbar.js"></script>
54    <script src="ui_mode.js"></script>
55    <script src="xhr.js"></script>
56    <script src="wcs_sandbox_container.js"></script>
57    <title i18n-content="PRODUCT_NAME"></title>
58  </head>
59
60  <body>
61
62    <!-- loading-mode is initially visible, but becomes hidden as soon as an
63         AppMode is selected by remoting.init. All other divs are initially
64         hidden, but are shown appropriately when the mode changes. -->
65    <section id="loading-mode" data-ui-mode="">
66      <em>Loading&hellip;</em>
67    </section> <!-- loading-mode -->
68
69    <div id="daemon-plugin-container"></div>
70    <div id="host-plugin-container"></div>
71
72    <iframe id="wcs-sandbox" src="wcs_sandbox.html" hidden></iframe>
73
74    <header data-ui-mode="home" hidden>
75      <div>
76        <img src="chromoting48.webp">
77        <h1 class="icon-label" i18n-content="PRODUCT_NAME"></h1>
78      </div>
79      <div class="box-spacer"></div>
80      <div id="top-secondary">
81        <span id="current-email"></span>
82        <span data-ui-mode="home" class="apps-v1-only">
83          <a id="sign-out" href="#" i18n-content="SIGN_OUT_BUTTON"></a>
84          <!-- TODO(jamiewalch): Add this back in when we support it.
85          <a id="connection-history"
86             i18n-content="CONNECTION_HISTORY_BUTTON"></a> |
87          -->
88        </span> |
89        <a href="https://www.google.com/support/chrome/bin/answer.py?answer=1649523"
90           target="_blank" i18n-content="HELP"></a>
91      </div>
92    </header>
93
94    <div data-ui-mode="home">
95      <div id="butter-bar" hidden>
96        <p>
97          <span id="butter-bar-message"></span>
98          <a id="butter-bar-dismiss" href="#">
99            <img src="icon_cross.webp" class="close-icon">
100          </a>
101        </p>
102      </div>
103    </div>
104
105    <div data-ui-mode="home" hidden>
106
107      <section>
108        <h2 i18n-content="MODE_IT2ME"></h2>
109        <div id="it2me-first-run">
110          <div>
111            <p class="infographic-description"
112               i18n-content="IT2ME_FIRST_RUN"></p>
113            <button id="get-started-it2me"
114                    i18n-content="GET_STARTED"
115                    disabled></button>
116          </div>
117          <div class="infographic">
118            <img src="infographic_remote_assistance.webp">
119          </div>
120        </div>
121        <div id="it2me-content">
122          <p id="webapp-description"
123             i18n-content="DESCRIPTION_HOME"
124             i18n-value-1="<a href='https://chrome.google.com/remotedesktop' target='_blank'>chrome.google.com/remotedesktop</a>"></p>
125          <div>
126            <div class="section-row">
127              <div class="box-spacer">
128                <div i18n-content="HOME_SHARE_DESCRIPTION"></div>
129                <div id="chrome-os-no-share"
130                     i18n-content="HOME_SHARE_DESCRIPTION_CHROME_OS"
131                     class="small-print"></div>
132              </div>
133              <div>
134                <button id="share-button"
135                        i18n-content="HOME_SHARE_BUTTON"
136                        class="kd-button-share"
137                        type="button">
138                </button>
139              </div>
140            </div>
141          </div>
142          <div class="section-row">
143            <div i18n-content="HOME_ACCESS_DESCRIPTION"
144                 class="box-spacer"></div>
145            <div>
146              <button id="access-mode-button"
147                      i18n-content="HOME_ACCESS_BUTTON"
148                      type="button">
149              </button>
150            </div>
151          </div>
152        </div> <!-- it2me-content -->
153      </section> <!-- Remote Assistance -->
154
155      <section id="host-list-div" class="host-list-container">
156        <div id="me2me-first-run">
157          <h2 i18n-content="MODE_ME2ME"></h2>
158          <div>
159            <p class="infographic-description"
160               i18n-content="ME2ME_FIRST_RUN"></p>
161            <button id="get-started-me2me"
162                    i18n-content="GET_STARTED"
163                    disabled></button>
164          </div>
165          <div class="infographic">
166            <img src="infographic_my_computers.webp">
167          </div>
168        </div>
169        <div id="me2me-content">
170          <h2>
171            <span i18n-content="MODE_ME2ME"></span>
172            <span class="h2-secondary" id="host-list-loading-indicator">
173              <a href="#" id="host-list-reload"
174                 class="icon-black"
175                 i18n-title="TOOLTIP_REFRESH">
176                <img src="reload.webp">
177              </a>
178              <img src="spinner.gif" id="host-list-loading">
179            </span>
180          </h2>
181          <div id="host-list" hidden></div>
182          <div id="host-list-error" class="box" hidden>
183            <div id="host-list-error-message" class="error-state"></div>
184            <div class="box-spacer"></div>
185            <button type="button"
186                    id="host-list-refresh-failed-button"></button>
187          </div>
188          <div id="daemon-control" data-daemon-state="enabled disabled" hidden>
189            <div class="section-row no-non-local-hosts"
190                 data-daemon-state="disabled">
191              <img src="icon_host.webp" class="host-list-main-icon">
192              <div class="box-spacer host-list-label"
193                   id="start-daemon-message"
194                   i18n-content="HOME_DAEMON_START_MESSAGE"></div>
195              <button type="button"
196                      id="start-daemon"
197                      i18n-content="HOME_DAEMON_START_BUTTON">
198              </button>
199            </div> <!-- disabled -->
200            <div id="this-host-connect"
201                 class="section-row clickable no-non-local-hosts"
202                 data-daemon-state="enabled">
203              <div class="host-list-main-icon">
204                <span id="this-host-warning"></span>
205                <img id="this-host-icon"
206                     src="icon_host.webp">
207              </div>
208              <div id="this-host-name" class="box-spacer"></div>
209              <span id="this-host-rename"
210                    class="host-list-edit"
211                    tabIndex="0"
212                    i18n-title="TOOLTIP_RENAME">
213                <img id="this-host-rename"
214                     class="host-list-rename-icon"
215                     src="icon_pencil.webp">
216              </span>
217              <button type="button"
218                      id="stop-daemon"
219                      i18n-content="HOME_DAEMON_STOP_BUTTON">
220              </button>
221            </div> <!-- enabled -->
222            <div data-daemon-state="enabled">
223              <div>
224                <span i18n-content="HOME_DAEMON_ACTIVE_MESSAGE"></span>
225                <a id="change-daemon-pin"
226                   href="#"
227                   i18n-content="HOME_DAEMON_CHANGE_PIN_LINK"></a>
228              </div>
229              <div id="paired-client-manager-message" hidden>
230                <span i18n-content="HOME_DAEMON_PAIRED_MESSAGE"></span>
231                <a href="#"
232                   id="open-paired-client-manager-dialog"
233                   i18n-content="HOME_DAEMON_MANAGE_PAIRINGS"></a>
234            </div>
235          </div> <!-- daemon-control -->
236          <div id="host-list-empty" hidden>
237            <div id="host-list-empty-hosting-supported"
238                 class="host-list-empty-instructions"
239                 i18n-content="HOST_LIST_EMPTY_HOSTING_SUPPORTED"
240                 i18n-value-name-1="HOME_DAEMON_START_BUTTON">
241            </div>
242            <div id="host-list-empty-hosting-unsupported"
243                 class="host-list-empty-instructions"
244                 i18n-content="HOST_LIST_EMPTY_HOSTING_UNSUPPORTED"
245                 i18n-value-name-1="HOME_DAEMON_START_BUTTON">
246            </div>
247          </div>
248        </div> <!-- me2me-content -->
249      </section> <!-- host-list-div -->
250    </div> <!-- home -->
251
252    <div id="auth-dialog" hidden>
253      <div class="dialog-screen"></div>
254      <div class="dialog-container">
255        <div class="box-spacer"></div>
256        <div class="kd-modaldialog">
257          <h2 i18n-content="MODE_AUTHORIZE"></h2>
258          <p id="auth-error-message"
259             i18n-content="DESCRIPTION_AUTHORIZE"
260             class="message"></p>
261          <div class="button-row">
262            <button id="auth-button"
263                    type="button"
264                    autofocus="autofocus"
265                    i18n-content="CONTINUE_BUTTON">
266            </button>
267          </div>
268        </div>
269        <div class="box-spacer"></div>
270      </div>
271    </div> <!-- auth-dialog -->
272
273    <div class="dialog-screen"
274         data-ui-mode="home.host home.client home.history home.confirm-host-delete home.host-setup home.token-refresh-failed home.manage-pairings"
275         hidden></div>
276
277    <div class="dialog-container"
278         data-ui-mode="home.host home.client home.history home.confirm-host-delete home.host-setup home.token-refresh-failed home.manage-pairings"
279         hidden>
280
281      <div class="box-spacer"></div>
282
283      <!-- TODO(jamiewalch): Refactor the various error-state divs -->
284      <div class="kd-modaldialog" data-ui-mode="home.token-refresh-failed">
285        <div class="message">
286          <span id="token-refresh-error-message" class="error-state"></span>
287        </div>
288        <div id="token-refresh-auth-failed" class="button-row">
289          <button id="token-refresh-error-sign-in"
290                  type="button"
291                  i18n-content="SIGN_IN_BUTTON"></button>
292        </div>
293        <div id="token-refresh-other-error" class="button-row">
294          <button id="token-refresh-error-ok"
295                  type="button"
296                  i18n-content="OK"></button>
297        </div>
298      </div> <!-- home.token-refresh-failed -->
299
300      <div id="host-setup-dialog"
301           class="kd-modaldialog"
302           data-ui-mode="home.host-setup">
303        <form id="ask-pin-form"
304              data-ui-mode="home.host-setup.ask-pin"
305              action="">
306          <p class="message">
307            <span i18n-content="HOST_SETUP_DIALOG_DESCRIPTION"
308                  i18n-value-1="<b>"
309                  i18n-value-2="</b>"></span>
310            <a href="http://support.google.com/chrome/bin/answer.py?hl=en&answer=1649523"
311               target="_blank"
312               i18n-content="WHY_IS_THIS_SAFE"></a>
313          </p>
314          <table id="set-pin-table">
315            <tr>
316              <td class="table-label">
317                <label for="daemon-pin-entry"
318                       i18n-content="ASK_PIN_DIALOG_LABEL"
319                       class="editbox-label"></label>
320              </td>
321              <td>
322                <input id="daemon-pin-entry"
323                       autofocus="autofocus"
324                       type="password">
325              </td>
326            </tr>
327            <tr>
328              <td class="table-label">
329                <label for="daemon-pin-confirm"
330                       i18n-content="ASK_PIN_DIALOG_CONFIRM_LABEL"
331                       class="editbox-label"></label>
332              </td>
333              <td>
334                <input id="daemon-pin-confirm" type="password">
335              </td>
336            <tr>
337          </table>
338          <div id="daemon-pin-error-div" class="message" hidden>
339            <span id="daemon-pin-error-message" class="error-state">
340            </span>
341          </div>
342          <div id="usagestats-consent" hidden>
343            <label class="checkbox-label">
344              <input id="usagestats-consent-checkbox" type="checkbox">
345              <span i18n-content="HOST_SETUP_CRASH_REPORTING_MESSAGE"></span>
346            </label>
347          </div>
348          <div class="button-row">
349            <button id="daemon-pin-ok" type="submit" i18n-content="OK">
350            </button>
351            <button id="daemon-pin-cancel" type="button" i18n-content="CANCEL">
352            </button>
353          </div>
354        </form>
355        <div data-ui-mode="home.host-setup.processing"
356             class="box"
357             hidden>
358          <span class="waiting prominent"
359                id="host-setup-processing-message">
360          </span>
361        </div>
362        <div data-ui-mode="home.host-setup.done" hidden>
363          <div id="host-setup-done-message" class="message"></div>
364          <div id="host-setup-done-message-2" class="message"></div>
365          <div class="button-row">
366            <button id="host-config-done-dismiss"
367                    autofocus="autofocus"
368                    i18n-content="OK"></button>
369          </div>
370        </div>
371        <div data-ui-mode="home.host-setup.error" hidden>
372          <div id="host-setup-error-message" class="error-state"></div>
373          <div class="button-row">
374            <button id="host-config-error-dismiss"
375                    autofocus="autofocus"
376                    i18n-content="OK"></button>
377          </div>
378        </div>
379        <div data-ui-mode="home.host-setup.install" hidden>
380          <div class="message" i18n-content="HOST_SETUP_INSTALL"></div>
381          <div class="button-row">
382            <button id="host-config-install-continue"
383                    autofocus="autofocus"
384                    i18n-content="OK"></button>
385            <button id="host-config-install-dismiss"
386                    i18n-content="CANCEL"></button>
387          </div>
388        </div>
389        <div data-ui-mode="home.host-setup.install-pending" hidden>
390          <div class="message"
391                    i18n-content="HOST_SETUP_INSTALL_PENDING"></div>
392          <div class="button-row">
393            <button id="host-config-install-retry"
394                    autofocus="autofocus"
395                    i18n-content="OK"></button>
396          </div>
397        </div>
398      </div> <!-- host-setup-dialog -->
399
400      <div id="host-dialog"
401           class="kd-modaldialog"
402           data-ui-mode="home.host">
403
404        <div data-ui-mode="home.host.waiting-for-code" class="message"
405             i18n-content="MESSAGE_GENERATING">
406        </div> <!-- host.waiting-for-code -->
407
408        <div data-ui-mode="home.host.waiting-for-connection">
409          <div i18n-content="INSTRUCTIONS_SHARE_ABOVE"></div>
410          <div id="access-code-display" dir="ltr" class="selectable"></div>
411          <div id="access-code-countdown-container">
412            <div id="access-code-countdown" class="expiring" hidden>
413              <span id="seconds-remaining"
414                    i18n-content="ACCESS_CODE_TIMER"></span>
415            </div>
416          </div>
417          <div i18n-content="INSTRUCTIONS_SHARE_BELOW"></div>
418        </div> <!-- host.waiting-for-connection -->
419
420        <div data-ui-mode="home.host.shared">
421          <div id="host-shared-message" class="message"
422               i18n-content="MESSAGE_SHARED"></div>
423          <div class="button-row">
424            <button id="stop-sharing-button"
425                    type="button"
426                    i18n-content="STOP_SHARING_BUTTON">
427            </button>
428          </div>
429        </div> <!-- host.shared -->
430
431        <div data-ui-mode="home.host.share-failed" class="message">
432          <span id="host-plugin-error" class="error-state"></span>
433        </div> <!-- host.share-failed -->
434
435        <div data-ui-mode="home.host.share-finished" class="message"
436             i18n-content="MESSAGE_SESSION_FINISHED">
437        </div> <!-- host.share-finished -->
438
439        <div data-ui-mode="home.host.share-failed home.host.share-finished"
440             class="button-row">
441          <button id="host-finished-button"
442                  type="button"
443                  autofocus="autofocus"
444                  i18n-content="OK">
445          </button>
446        </div>
447
448        <div id="nat-box"
449             class="information-box"
450             data-ui-mode="home.host.waiting-for-connection"
451             i18n-content="WARNING_NAT_DISABLED">
452        </div> <!-- nat-box -->
453
454        <div data-ui-mode="home.host.waiting-for-connection home.host.waiting-for-code"
455             class="button-row">
456          <span class="waiting" i18n-content="FOOTER_WAITING"></span>
457          <button id="cancel-share-button" i18n-content="CANCEL"></button>
458        </div>
459
460      </div> <!-- host dialog -->
461
462      <div id="client-dialog"
463           class="kd-modaldialog"
464           data-ui-mode="home.client">
465
466        <div data-ui-mode="home.client.unconnected">
467          <div i18n-content="DESCRIPTION_CONNECT"></div>
468          <div id="access-code-entry-row">
469            <form id="access-code-form" action="">
470              <div class="box">
471                <div class="box-spacer"></div>
472                <label for="access-code-entry"
473                       i18n-content="ACCESS_CODE"
474                       class="editbox-label">
475                </label>
476                <input id="access-code-entry"
477                       type="text"
478                       autofocus="autofocus"
479                       autocomplete="off"/>
480                <div class="box-spacer"></div>
481              </div>
482              <div class="button-row">
483                <button id="connect-button"
484                        type="submit"
485                        i18n-content="CONNECT_BUTTON">
486                </button>
487                <button id="cancel-access-code-button"
488                        type="button"
489                        i18n-content="CANCEL">
490                </button>
491              </div>
492            </form>
493          </div> <!-- code-entry-row -->
494          <div id="startup-mode-box-it2me" class="information-box" hidden>
495            <span i18n-content="WARNING_NOT_WINDOWED"></span>
496            <a href="http://support.google.com/chrome/bin/answer.py?hl=en&answer=1649523"
497               target="_blank"
498               i18n-content="LEARN_HOW"></a>
499          </div> <!-- startup-mode-box-it2me -->
500
501        </div> <!-- client.unconnected -->
502
503        <div data-ui-mode="home.client.connecting" class="box">
504          <span class="waiting prominent"
505                i18n-content="FOOTER_CONNECTING"></span>
506          <div class="box-spacer"></div>
507          <button id="cancel-connect-button" i18n-content="CANCEL"></button>
508        </div> <!-- client.connecting -->
509
510        <div data-ui-mode="home.client.host-needs-upgrade">
511          <div id="host-needs-update-message"
512               class="message error-state multi-line-error-state">
513          </div>
514          <div class="message">
515            <span i18n-content="HOST_NEEDS_UPDATE_DETAIL"></span>
516            <a href="http://support.google.com/chrome/bin/answer.py?hl=en&answer=1649523"
517               target="_blank"
518               i18n-content="LEARN_HOW"></a>
519          </div>
520          <div class="button-row">
521            <button id="host-needs-update-connect-button"
522                    type="button"
523                    i18n-content="CONNECT_ANYWAY"
524                    autofocus="autofocus">
525            </button>
526            <button id="host-needs-update-cancel-button"
527                    type="button"
528                    i18n-content="CANCEL">
529            </button>
530          </div>
531        </div> <!-- home.client.host-needs-upgrade -->
532
533        <div data-ui-mode="home.client.pin-prompt">
534          <div id="pin-message"
535               i18n-content="PIN_MESSAGE"
536               class="message"></div>
537          <form id="pin-form" action="">
538            <table class="centered">
539              <tr>
540                <td>
541                  <label for="pin-entry"
542                         i18n-content="PIN"
543                         class="editbox-label"></label>
544                </td>
545                <td>
546                  <input id="pin-entry"
547                         type="password"
548                         autofocus="autofocus"
549                         autocomplete="off"/>
550                  <button id="pin-connect-button"
551                          type="submit"
552                          i18n-content="CONNECT_BUTTON">
553                  </button>
554                  <button id="cancel-pin-entry-button"
555                          type="button"
556                          i18n-content="CANCEL">
557                  </button>
558                </td>
559              </tr>
560              <tr>
561                <td>
562                  <!-- Empty cell to align the checkbox and PIN entry. -->
563                </td>
564                <td>
565                  <label id="remember-pin" class="checkbox-label">
566                    <input id="remember-pin-checkbox" type="checkbox">
567                    <span i18n-content="REMEMBER_PIN"></span>
568                  </label>
569                </td>
570              </tr>
571            </table>
572          </form>
573          <div id="startup-mode-box-me2me"
574               class="information-box centered"
575               hidden>
576            <span i18n-content="WARNING_NOT_WINDOWED"></span>
577            <a href="http://support.google.com/chrome/bin/answer.py?hl=en&answer=1649523"
578               target="_blank"
579               i18n-content="LEARN_HOW"></a>
580          </div> <!-- startup-mode-box-it2me -->
581        </div> <!-- client.pin-prompt -->
582
583        <div data-ui-mode="home.client.third-party-auth" class="centered">
584          <div id="third-party-auth-message"
585               i18n-content="DESCRIPTION_THIRD_PARTY_AUTH"
586               class="message"></div>
587          <div id="third-party-auth-url"
588               class="message"></div>
589          <div class="button-row">
590            <button id="third-party-auth-button"
591                    type="button"
592                    autofocus="autofocus"
593                    i18n-content="CONTINUE_BUTTON">
594            </button>
595          </div>
596        </div> <!-- third-party-auth-dialog -->
597
598        <div data-ui-mode="home.client.connect-failed"
599             class="message">
600          <span id="connect-error-message" class="error-state"></span>
601        </div> <!-- client.connect-failed -->
602
603        <div data-ui-mode="home.client.session-finished"
604             class="message" i18n-content="MESSAGE_SESSION_FINISHED">
605        </div> <!-- client.session-finished -->
606
607        <div data-ui-mode="home.client.connect-failed.it2me home.client.session-finished.it2me"
608             class="button-row">
609          <button id="client-finished-it2me-button"
610                  type="button"
611                  i18n-content="OK"
612                  autofocus="autofocus">
613          </button>
614        </div> <!-- connect-failed.it2me session-finished.it2me -->
615
616        <div data-ui-mode="home.client.connect-failed.me2me home.client.session-finished.me2me"
617             class="button-row">
618          <button id="client-reconnect-button"
619                  type="button"
620                  i18n-content="RETRY"
621                  autofocus="autofocus">
622          </button>
623          <button id="client-finished-me2me-button"
624                  type="button"
625                  i18n-content="CANCEL">
626          </button>
627        </div> <!-- connect-failed.me2me session-finished.me2me -->
628
629      </div> <!-- client-dialog -->
630
631      <div id="connection-history-dialog"
632           class="kd-modaldialog"
633           data-ui-mode="home.history"
634           hidden>
635        <div class="internal-frame-of-reference">
636          <h2 i18n-content="CONNECTION_HISTORY_TITLE"></h2>
637          <div id="connection-history-options">
638            <div class="link-list">
639              <a id="history-view-all"
640                 i18n-content="ALL_CONNECTIONS"
641                 class="no-link"></a>
642              <a id="history-view-outgoing"
643                 i18n-content="OUTGOING_CONNECTIONS"></a>
644              <a id="history-view-incoming"
645                 i18n-content="INCOMING_CONNECTIONS"></a>
646            </div>
647            <div class="box-spacer"></div>
648            <a id="clear-connection-history" i18n-content="CLEAR_HISTORY"></a>
649          </div>
650          <div id="connection-history-scroller">
651            <table id="connection-history-table">
652              <thead>
653                <tr>
654                  <td></td>
655                  <td i18n-content="TIME_HEADER"></td>
656                  <td></td>
657                  <td i18n-content="CONNECTION_FROM_HEADER"></td>
658                  <td i18n-content="CONNECTION_TO_HEADER"></td>
659                  <td i18n-content="DURATION_HEADER"></td>
660                </tr>
661              </thead>
662              <tbody id="connection-history-entries" class="selectable">
663              </tbody>
664            </table>
665          </div>
666          <button id="close-connection-history"
667                  i18n-content="CLOSE"
668                  type="button"></button>
669        </div>
670      </div> <!-- connection-history-dialog -->
671
672      <div id="confirm-host-delete-dialog"
673           class="kd-modaldialog"
674           data-ui-mode="home.confirm-host-delete"
675           hidden>
676        <p id="confirm-host-delete-message"
677           i18n-content="CONFIRM_HOST_DELETE"
678           class="message">
679        </p>
680        <div class="button-row">
681          <button id="confirm-host-delete"
682                  i18n-content="DISABLE_HOST"
683                  type="button">
684          </button>
685          <button id="cancel-host-delete"
686                  i18n-content="CANCEL"
687                  autofocus="autofocus"
688                  type="button">
689          </button>
690        </div>
691      </div> <!-- home.confirm-host-delete -->
692
693      <div id="paired-client-manager-dialog"
694           class="kd-modaldialog"
695           data-ui-mode="home.manage-pairings"
696           hidden>
697        <p i18n-content="PAIRED_CLIENTS_INTRODUCTION"
698           class="message">
699        </p>
700        <div id="paired-clients-list">
701          <table>
702            <thead>
703              <tr>
704                <td i18n-content="PAIRED_CLIENT_DATE"></td>
705                <td i18n-content="PAIRED_CLIENT_NAME"></td>
706              </tr>
707            </thead>
708            <tbody>
709            </tbody>
710          </table>
711          <p id="no-paired-clients">
712            <em i18n-content="NO_PAIRED_CLIENTS"></em>
713          </p>
714        </div> <!-- paired-clients-list -->
715        <p id="paired-client-manager-dialog-error"
716           class="error-state"
717           hidden>
718        </p>
719        <div class="button-row">
720          <span id="paired-client-manager-dialog-working"
721                class="waiting"
722                i18n-content="WORKING"
723                hidden></span>
724          <button id="delete-all-paired-clients"
725                  i18n-content="DELETE_ALL_PAIRED_CLIENTS">
726          <button id="close-paired-client-manager-dialog"
727                  i18n-content="CLOSE">
728          </button>
729        </div>
730      </div> <!-- home.manage-pairings -->
731
732      <div class="box-spacer"></div>
733
734    </div> <!-- dialog-container -->
735
736    <div id="session-mode" data-ui-mode="in-session home.client" hidden>
737      <div id="session-toolbar"
738           data-ui-mode="in-session"
739           class="toolbar-container"
740           hidden>
741        <div class="toolbar-border">
742          <div id="session-status-message"
743                i18n-content="LABEL_CONNECTED"></div>
744          <div id="connected-to"></div>
745          <div id="new-connection" class="icon-black apps-v2-only">
746            <img src="plus.webp" i18n-title="NEW_CONNECTION">
747          </div>
748          <div class="box-spacer"></div>
749          <button id="toolbar-disconnect"
750                  type="button"
751                  i18n-content="DISCONNECT_MYSELF_BUTTON">
752          </button>
753          <span class="menu-button" id="send-keys-menu">
754            <button>
755              <span i18n-content="SEND_KEYS"></span>
756              <img src="disclosure_arrow_down.webp"
757                   class="kd-disclosureindicator">
758            </button>
759            <ul>
760              <li id="send-ctrl-alt-del" i18n-content="SEND_CTRL_ALT_DEL"></li>
761              <li id="send-print-screen" i18n-content="SEND_PRINT_SCREEN"></li>
762            </ul>
763          </span>
764          <span class="menu-button" id="screen-options-menu">
765            <button>
766              <span i18n-content="SCREEN_OPTIONS"></span>
767              <img src="disclosure_arrow_down.webp"
768                   class="kd-disclosureindicator">
769            </button>
770            <ul>
771              <li id="screen-resize-to-client"
772                  i18n-content="RESIZE_TO_CLIENT"></li>
773              <li id="screen-shrink-to-fit" i18n-content="SHRINK_TO_FIT"></li>
774              <li class="menu-separator"></li>
775              <li id="toggle-full-screen" i18n-content="FULL_SCREEN"></li>
776            </ul>
777          </span>
778        </div>
779        <div class="toolbar-stub" id="toolbar-stub">
780          <div class="arrow-down"></div>
781        </div>
782      </div> <!-- session-toolbar -->
783    </div> <!-- session-mode -->
784
785    <div id="statistics" dir="ltr" class="selectable" hidden>
786    </div> <!-- statistics -->
787
788  </body>
789</html>
790